小编Sri*_*ake的帖子

Visual Studio 2012 MSTest与NUnit的优点和缺点

我们必须决定使用哪种技术进行单元测试.目前我们使用的是Visual Studio 2010,并不满意MSTest.它是错误的,部署较差(例如,无法正确识别测试设置输出目录),并且在尝试测试32位和64位版本的程序集时有几个问题.最糟糕的是,MSTest与我们的Jenkins构建系统没有很好的阻抗匹配.因此我们考虑进入NUnit.但是,我们团队中没有人对NUnit有很好的了解.此外,我们将很快进入Visual Studio 2012.

我需要了解Visual Studio 2012 MSTest与Nunit最新版本的优缺点.由于堆栈溢出的大多数文章都与旧版本的VS相关,因此它们与我们无关.我想微软自2010年以来已经对MSTest做了很多改进.请提供一个与两种技术所面临的细节技术问题的公正比较(仅限新版本)

nunit mstest visual-studio-2012

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

将IDisposable作为参数传递

将IDisposable作为参数传递给方法并将其置于该方法中是一种好习惯.当你必须使用多个线程时,这是不可避免的.好吧,最佳实践说主人(来电者)应该处理它.

例如

public void MyMethod(MyClass reader){
    using(reader){
        //some code
    }
}
Run Code Online (Sandbox Code Playgroud)

如果所有者(创建线程)不再存在怎么办?例如

interface IReader : IDisposable {
    string Read();
}

public class MyReader : IReader {

    public string Read()
    {
        return "hellow world";
    }
    public void Dispose()
    {
        //dispose code
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里你会发现问题......

public void Start() {
    MyReader[] readerSet = new MyReader[5];
    for (int i = 0; i < readerSet.Length; i++) {
        readerSet[i] = new MyReader();
    }
    foreach (IReader reader in readerSet) {
        ThreadPool.QueueUserWorkItem(new WaitCallback(Run), reader);
    }
    //exit after creating …
Run Code Online (Sandbox Code Playgroud)

.net methods idisposable parameter-passing disposing

7
推荐指数
1
解决办法
1351
查看次数

jenkins checkout期间排除目录

我在trunk下有20个目录

/trunk/a1
/trunk/a2
/trun/a3
..
..
/trunk/a20
Run Code Online (Sandbox Code Playgroud)

如何排除(不包括)一些(在Jenkins结账期间的任意目录.例如,我希望除了/ trunk/a3/b1之外的所有目录都在干线下 如何做到这一点?

我已经在SVN checkout ignore文件夹中找到了答案但是在Jenkins下这是不可能的.需要一个更简单的解决方案,我不知道除了我要排除的目录之外的目录下的目录数量.

另外如何添加自定义svn checkout.Let说我想执行svn命令行工具来结帐?

svn build sparse-checkout jenkins

6
推荐指数
1
解决办法
8661
查看次数

错误 SSIS 任务:对于完整结果集和 XML 结果,结果绑定名称必须设置为零

我有一个 SSIS 执行 SQL 任务。它返回一个完整的结果集(即一个表)。但是,当我执行包时出现以下错误。我正确地为返回的结果集命名。

[执行 SQL 任务] 错误:对于完整结果集和 XML 结果,结果绑定名称必须设置为零。

如何解决这个问题?

sql-server ssis

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

在.NET C#中参数化字符串

如何在不使用param关键字的情况下替换方法签名以接受参数化字符串.我在Console.WriteLine()中看到过这个功能.例如

public void LogErrors(string message, params string[] parameters) { }
Run Code Online (Sandbox Code Playgroud)

场景:

我有一个名为的错误登录功能

LogErrors(string message)
{
    //some code to log errors
}
Run Code Online (Sandbox Code Playgroud)

我在程序中的不同位置调用此函数,以便错误消息被硬编码.例如:

LogError("Line number " + lineNumber + " has some invalid text");
Run Code Online (Sandbox Code Playgroud)

我将这些错误消息移动到资源文件,因为我可能稍后更改程序的语言(本地化).在这种情况下,我如何编程接受大括号基数参数化字符串?例如:

LogError("Line number {0} has some invalid text", lineNumber)
Run Code Online (Sandbox Code Playgroud)

将写为:

LogError(Resources.Error1000, lineNumber) 
Run Code Online (Sandbox Code Playgroud)

其中Error1000将是"行号{0}有一些无效的文本"

.net c# string

4
推荐指数
2
解决办法
245
查看次数

Solr搜索使用包含,声音像

问题:我在solr中有一个电影信息.两个字符串字段定义电影标题和导演名称.复制字段定义solr搜索默认值的另一个字段.

我希望谷歌像搜索范围有限,如下所示.如何实现它.

1)如何搜索solr for contains

例如a)如果电影导演的名字是"John Cream",搜索joh将不会返回任何内容.但是,搜索John会返回正确的结果.

b)如果有一个名为aaabbb的电影名称和另一个名为aaa的电影标题,则搜索aaa只返回一个结果.我需要返回两个结果.

2)如何解释拼写错误

例如,如果电影导演名称为"John Cream",则搜索Jon不会返回任何结果.是否有类似(soundex)实现solr的好声音.如果是这样如何启用它?

您可以使用solr查询语法

search solr soundex

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

AWS CodeDeploy ymal 文件错误

我正在使用 AWS 代码部署到 Windows 环境来部署应用程序。我使用 apspec.yml yaml 文件。当我部署应用程序时,出现以下错误

由于在应用程序规范文件中输入了无效的版本值 (),部署失败。确保您的 AppSpec 文件指定“0.0”作为版本,然后重试。

编码或行结束似乎有问题。网上的所有资料都是针对linux的,而不是针对windows的。我使用 Visual Studio 编辑器来编辑这个文件。如何解决这个问题?

yaml amazon-web-services aws-code-deploy

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