2012-03-17 144 views
3

为了自动执行TeamCity上的单元测试,我必须在我的vsmdi配置文件中创建一个测试列表,指出每个测试都是我称为CompleteCoverage的列表的一部分。我很不喜欢这个,因为为了自动运行新的测试,我必须记住将它们包含在这个列表中。TeamCity MSTest和TestList?

是否有某种方式来运行在使用TeamCity的和解决每个测试的MSBuild(除明确引用路径输出测试组装)?

我应该直接放下MSTest并去NUnit

+0

如果要运行所有测试,只需引用测试程序集,问题是什么? – wal 2012-03-17 07:00:59

+0

事实上,根据配置我必须指定不同的硬编码位置'bin \ Debug'等 – bevacqua 2012-03-17 08:32:42

+0

'取决于配置'< - 即发布与调试版本?如果是,那么这些应该是teamcity中的独立构建(配置)? – wal 2012-03-17 10:31:46

回答

3

我使用NUnit的,而不是MSTest的,但这应该为你工作,太:

我命名我的所有测试组件包括一个.nunit在他们的名字,例如Basic.NUnit.dll。在执行测试的构建步骤中,我将**/*。NUnit.dll声明为要运行的程序集。为了确保它们在正确的位置运行,我已将**/obj/**/*。NUnit.dll添加到排除列表中。加上排除或排除的测试类别,我完全可以控制在纯粹的声明级别运行哪些测试,而无需命名单个测试。