t3c*_*b0t 17 .net c# unit-testing mstest visual-studio-2017
究竟什么是MSTest.TestAdapter
vs MSTest.TestFramework
和我何时需要哪一个?
在NuGet描述中,您可以阅读:
MSTest.TestAdapter
用于发现和执行基于MSTest Framework的测试的适配器.
MSTest.TestFramework
这是MSTest V2,微软测试框架的演变.+要发现并执行测试,请安装MSTest.TestAdapter.
嗯,不是很有帮助,我总是安装两个,因为我不知道应该采取哪一个.奇怪的是,在我的一个测试项目中,我只有MSTest.TestFramework
(我猜不出意料)并且ReSharper仍然可以发现测试.
我对这些包的问题是:
TestAdapter
?TestFramework
怎么办?我什么时候需要这个?GitHub上的项目页面也有很大帮助.唯一的环节
您可以在此处阅读有关MSTest V2的更多信息.
导航到一个页面,该页面仅说明它有多么伟大和开源,但没有任何具体的任何一个包.
Lex*_* Li 14
所以Visual Studio使用一个名为Visual Studio Test Platform的框架来加载测试适配器,
https://github.com/Microsoft/vstest
要发现或执行测试用例,VSTest将根据您的项目配置调用测试适配器.(这就是为什么NUnit/xUnit/MSTest都要求您将测试适配器NuGet包安装到您的单元测试项目中).所以MSTest.TestAdapter就是出于此目的而存在的.
MSTest.TestFramework本身实现了测试框架及其合同.所以你需要添加一个NuGet引用来编写单元测试用例并编译它们.Visual Studio随后只能使用已编译的项目和测试适配器.
所以你的问题的最终答案是"你通常需要两者".
如果你不打算使用Visual Studio,@ Nkosi的另一个答案当然是正确的.MSTest有自己的命令行运行程序,可以在没有测试适配器的情况下运行单元测试项目.
您真的总是需要安装它们吗?
没有为什么?(见下文)
为什么即使没有 TestAdapter 也能工作?
还有其他适配器/运行器可以识别 MSTest 框架,也可以发现和运行 MSTest 框架测试。
我可以使用测试框架做什么?
因此,一般来说,测试框架是用于在适配器/运行器发现和执行发现的测试时创建/编写测试的框架。
我什么时候需要这个?
有多种框架和适配器/运行器,您可以使用您选择的一种。
小智 5
MsTest.TestFramework 包含核心框架,其中包括属性和断言。MsTest.TestAdapter 允许我们发现基于 MsTest 的测试并执行它们。例如,识别具有 [TestMethod] 属性的方法并执行它们。
归档时间: |
|
查看次数: |
6459 次 |
最近记录: |