实际上MSTest.TestAdapter
和MSTest.TestFramework
之间的区别是什么?我何时需要哪一个?
在NuGet描述中,您可以阅读:
MSTest.TestAdapter
MSTest.TestFramework
好吧,不是很有帮助,我总是安装两者,因为我不确定我应该选哪一个。奇怪的是,在我的一个测试项目中,我只有MSTest.TestFramework
(我猜是偶然的),而ReSharper仍然可以发现测试。
我对这些软件包的疑问是:
TestAdapter
也可以工作? TestFramework
做什么?我什么时候需要这个? GitHub上的项目页面也可以提供很多帮助。唯一的链接
导航到一个页面,该页面仅说明其功能强大和开源,但对这两个软件包都没有具体说明。
最佳答案
因此,Visual Studio使用称为Visual Studio测试平台的框架来加载测试适配器,
https://github.com/Microsoft/vstest
为了发现或执行测试用例,VSTest会根据您的项目配置调用测试适配器。 (这就是NUnit/xUnit/MSTest都要求您为单元测试项目安装测试适配器NuGet包的原因)。因此,存在MSTest.TestAdapter即可达到此目的。
MSTest.TestFramework本身实现了测试框架及其契约(Contract)。因此,您需要为其添加一个NuGet引用,以编写单元测试用例并进行编译。然后,Visual Studio仅可以使用已编译的项目以及测试适配器。
因此,对您问题的最终答案将是“您通常同时需要两者”。
如果您不打算使用Visual Studio,则@Nkosi的其他答案当然可能是正确的。 MSTest有自己的命令行运行程序,它可以在没有测试适配器的情况下运行您的单元测试项目。
关于c# - MSTest.TestAdapter和MSTest.TestFramework之间有什么区别?何时需要哪一个?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47248729/