小编edi*_*ode的帖子

如何将单元测试拆分成组

我正在使用Visual Studio 2008,我希望能够将我的单元测试分成两组:

  1. 快速测试
  2. 更长的测试(即与数据库的交互)

我只能看到运行all或one的选项,并且还可以在单​​元测试类中运行所有测试.

有什么办法可以将它们分开或指定在我想运行快速测试时运行哪些测试?

谢谢

.net c# unit-testing visual-studio-2008 visual-studio

3
推荐指数
2
解决办法
3881
查看次数

单元测试-依赖测试

我正在创建一个相互依赖的单元测试列表。例如,我的第一个测试在数据库中创建一条记录,并检查返回值是否大于0。

然后,第二个测试检查在第一个测试中创建的记录的数据。但是,它需要在第一次测试中生成的记录的ID。

最初,我是从第一个测试中调用第二个测试的,因此我可以将ID作为参数传递,它工作正常,只是这意味着实际上只有一个测试。

我创建了一个有序列表,其ID在范围之外声明,但是在第一个单元测试之后,该值返回0,因此显然第二个单元测试失败。

有什么方法可以创建测试,以便它们共享在第一个测试中产生的价值?

代码如下:

[TestMethod]
public void TestNewLandlord_InsertIntoImportFiles_ReturnFileID()
{
    try
    {
        DataSet ds = EngineBllUtility.InsertIntoImportFiles(connString, @"C:\Documents and Settings\dTrunley\My Documents", "HFISNewLandlordTest.csv",
        "TestNewLandlord()", WindowsIdentity.GetCurrent().Name, "HFIS Landlords", "NA", 30247531, false);

        importFileId = long.Parse(ds.Tables[0].Rows[0]["ImportFileID"].ToString());
        Assert.IsTrue(importFileId > 0);
    }
    catch (Exception ex)
    {
        Assert.Fail(ex.Message);
    }
}

[TestMethod]
public void TestNewLandlord_InsertIntoImportFiles_CorrectData()
{
    try
    {
        using (SqlConnection connectionString = new SqlConnection(connString))
        {
            using (SqlCommand sqlCommand = new SqlCommand(
                String.Format("SELECT * FROM [mydeposits].[import].[ImportFiles] WHERE [ImportFileID] = {0}", importFileId), connectionString))
            {
                connectionString.Open();
                using (SqlDataReader dr = sqlCommand.ExecuteReader()) …
Run Code Online (Sandbox Code Playgroud)

.net c# unit-testing visual-studio-2008

3
推荐指数
1
解决办法
6359
查看次数

使用JQuery查找和计算已选中框的数量

我在页面上有一个表单,在该表单中,表格中的每一行都有一个复选框.我需要计算具有已检查行的行数,但我甚至无法从jQuery中选择它.

这是我的代码看起来像一个复选框:

<input type="checkbox" id="onHomePage_56" name="onHomePage" 
    value="56" checked="checked">
Run Code Online (Sandbox Code Playgroud)

未选中的复选框没有选中="已选中".

html jquery

3
推荐指数
1
解决办法
4854
查看次数

使用jQuery将表行从一个表复制到另一个表

当检查该行中的复选框时,我需要能够使用jQuery将一行从一个表复制到另一个表.

我尝试使用该.clone()方法,但这有非常奇怪的行为.尽管jQuery专门针对第二个表中的行,但是当复制到第一个表时,它仍然可以成为目标.所以要么clone()不正确,要么我需要使用别的东西.

$('#offers tbody tr td input.checkbox:not(:checked)').click(function (e) {
    var row = $(this).closest('tr');
});
Run Code Online (Sandbox Code Playgroud)

jquery

3
推荐指数
1
解决办法
2万
查看次数

将localhost MongoDB数据复制到流星服务器

所以我一直在玩,meteormongodb在我的localhost上设置了一个工作版本.不幸的是,当我这样做时meteor deploy xxx.meteor.com,也没有部署我的数据库.

我该怎么做呢?

mongodb meteor

3
推荐指数
1
解决办法
2043
查看次数

MVC 中带有 JavaScript 文件的 404

我无法让我的页面使用我的 javascript 文件。我的 Areas/Export/Views/Export 文件夹中有该文件,它名为 Export.js

这就是我在我看来引用它的方式

<script src="@Url.Content("~/Areas/Export/Views/Export/Export.js")"></script>
Run Code Online (Sandbox Code Playgroud)

我在网上看到的一切都说这应该有效,但事实并非如此。我是否错过了其他地方的参考资料或交易是什么?

谢谢

asp.net-mvc

3
推荐指数
1
解决办法
2671
查看次数

每隔n秒调用一次存储过程

我没有多线程的经验,所以我想知道如何刷新我的数据网格视图,例如,两秒钟.

基本上,当用户在某个选项卡上,并且他们选择了"当前导入"时,它应该每隔n秒调用一个方法GetNotImportedFiles(),然后该方法调用SP并绑定DataSet.

显然,我需要一个计时器,它会每隔n秒执行一次,但是我需要它作为后台工作程序执行该方法,但是与UI线程通信以更新DataGridView.

如果您需要任何代码,请询问.

更新:我已经实现了一个计时器,但它似乎永远不会触及timerTick的方法?

在我的设计师中我有代码:

this.refreshTimer.Interval = 1000;
this.refreshTimer.Tick += new System.EventHandler(this.refreshTimer_Tick);
Run Code Online (Sandbox Code Playgroud)

我的理解是每1秒钟应该调用refreshTimer_Click.但是我在代码中有一个从未被命中的断点?

private void refreshTimer_Tick(object sender, EventArgs e)
    {
        if (searchComboBox.Text.Equals("Currently Importing"))
        {
            try
            {
                DataSet temp = EngineBllUtility.GetNotImportedFiles(connectionString);
                if (temp != null)
                    importFileGridView.DataSource = temp.Tables[0];
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

.net c# sql multithreading timer

2
推荐指数
1
解决办法
1714
查看次数

在跨度中显示文本中间

我希望我的文字是SUN,MON,vertical-align:middle;但仍然没有运气.目前文本位于左上角.我的编码有什么问题?我怎么能纠正这个?

<td colspan="2">
    <span id="selectable">
        <span style="width:35px;height:35px;display:inline-block;" class="ui-widget-content">SUN</span>
        <span style="width:35px;height:35px;display:inline-block;" class="ui-widget-content">MON</span>
    </span>
</td>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

css

2
推荐指数
1
解决办法
426
查看次数

Getter/setter用于模型中的双向加密属性

我需要加密数据库中的某些字段,因此,我需要加密进入数据库的数据,然后在显示时对其进行解密.我已经设置了加密方法和解密方法,我让它像这样工作,例如,一个动作:

model.EncryptedProperty = Encrypt(viewModel.Property);
viewModel.Property = Decrypt(EncryptedProperty);
Run Code Online (Sandbox Code Playgroud)

这很好,但我的问题是其他开发人员需要记住在他们使用该属性时加密/解密属性.对于项目中的新人来说,这可能是一个问题,因为它需要他们知道这个属性是否已经预先加密.我试图通过在模型上加密/解密来改进加密,如下所示:

private string _property;
public string Property
{
    get { return DecryptString(_property); }
    set { _property = EncryptString(value); }
}
Run Code Online (Sandbox Code Playgroud)

但是,这似乎不起作用,当我在视图中查看此属性时,它看起来好像虽然它已经加密了数据库中的加密数据(我已经通过使用DecryptString(DecriptString(_property))它来测试它返回真值.

这里有什么解决方案?有更优雅的方式来解决这个问题吗?

c# encryption cryptography

2
推荐指数
1
解决办法
2063
查看次数

如何选择多列上具有不同列的非不同行

我已经找到了许多关于选择非独特行的答案,它们通过单个列进行分组,例如,电子邮件.但是,在我们的系统中似乎存在一些问题,我们正在获取一些重复数据,除了标识列之外,所有内容都是相同的.

SELECT DISTINCT 
      COLUMN1,
      COLUMN2,
      COLUMN3,
      ...
      COLUMN14
  FROM TABLE1
Run Code Online (Sandbox Code Playgroud)

如何从上面的查询中获取非不同的行?理想情况下,它会包含当前明确缺失的标识列.

sql sql-server

2
推荐指数
1
解决办法
4456
查看次数