Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tfs 如何避免在mstest中不使用ignore属性运行测试?_Tfs_Msbuild_Visual Studio 2012_Mstest - Fatal编程技术网

Tfs 如何避免在mstest中不使用ignore属性运行测试?

Tfs 如何避免在mstest中不使用ignore属性运行测试?,tfs,msbuild,visual-studio-2012,mstest,Tfs,Msbuild,Visual Studio 2012,Mstest,我们在与外部服务集成时使用了几个单元测试。这些服务可能不稳定,并且不受我们的控制,因此有必要从我们的日常构建中删除它们 我们已经在一个单独的程序集中进行了集成测试,因为通常的单元测试是作为门控签入的一部分运行的 尽管如此,我们仍希望在日常构建中运行许多集成测试,因此我们无法从日常构建中完全删除程序集 我尝试删除[TestClass]属性,这在VS2012中运行良好。但是当我们签入并让TFS(2010)构建和运行测试时,我得到了以下错误 [errormessage]=UTA004:在Test.Te

我们在与外部服务集成时使用了几个单元测试。这些服务可能不稳定,并且不受我们的控制,因此有必要从我们的日常构建中删除它们

我们已经在一个单独的程序集中进行了集成测试,因为通常的单元测试是作为门控签入的一部分运行的

尽管如此,我们仍希望在日常构建中运行许多集成测试,因此我们无法从日常构建中完全删除程序集

我尝试删除[TestClass]属性,这在VS2012中运行良好。但是当我们签入并让TFS(2010)构建和运行测试时,我得到了以下错误

[errormessage]=UTA004:在Test.TestMethod上非法使用属性。TestMethodAttribute只能在用TestClass属性标记的类中定义

有人知道如何完全删除测试运行吗?[Ignore]将不起作用,那么我的测试运行将充满关于忽略测试的警告。

为什么不使用来装饰您的集成测试呢

例如,让您的测试如下所示:

[TestClass]
public class Tests
{
    [TestMethod]
    public void AtomicTest
    {
        Assert.IsTrue(true);
    }

    [TestMethod, TestCategory("Integration")]
    public void IntegrationTest
    {
        Assert.IsFalse(false);
    }
}
然后将TFS构建配置为仅运行您感兴趣的构建:


这是个好主意,但缺点是TestCategory只能在TestMethod上设置。最好在TestClass上设置TestCategory。