为什么要使用C#测试项目而不是C#类库项目来保存我的单元测试?
谢谢。
为什么要使用C#测试项目而不是C#类库项目来保存我的单元测试?
谢谢。
MSTest
引用,同时还为您创建了一些默认示例,例如一个简单的测试示例。MSTest
引用。这并不是一个大问题,但测试项目可以节省您的时间和麻烦。测试项目
就是一个库
,只是添加了一些额外的东西。 - STW我没有找到太多关于由{3AC096D0-A1C2-E12C-1390-A8335801FDAB}标识的测试项目子类型的信息,但是根据https://msdn.microsoft.com/en-us/library/bb166488.aspx,项目子类型可以包括自定义内容:
- saving additional data in the project file,
- adding or filtering items in the Add New Item dialog box,
- controlling how assemblies are debugged and deployed,
- and extending the project Property Pages dialog box.
在上下文菜单中右键单击“测试项目” -> 在“添加”子菜单中,您可以看到测试项“单元测试”,“有序测试”,“通用测试”。添加“单元测试”会为MSTest生成一个测试类模板。
此外,它还包含其他数据:
<TestProjectType>UnitTest</TestProjectType>
<IsCodedUITest>False</IsCodedUITest>
看起来这个项目子类型相当于MSTest特定的。
所以如果不使用MSTest(例如使用xUnit),我更喜欢类库。
另一个论点可能是在.Net Core项目中,不希望使用项目风格(子类型)的方式进行操作,实际上,.Net Core测试模板是类库。请参见讨论:https://social.msdn.microsoft.com/Forums/vstudio/en-US/061aaf74-bb13-4646-9d69-064f6f1b8ef6/net-core-project-subtypes
额外福利:xUnit.net.TestGenerator扩展程序会生成一个测试项目子类型,如果您没有选择现有项目(可能是因为它只是VS生成工具的xUnit适配器)