【问题标题】:Difference between vstest.console.exe and dotnet test commandsvstest.console.exe 和 dotnet 测试命令之间的区别
【发布时间】:2019-08-16 16:22:37
【问题描述】:

从终端运行单元测试的 vstest.console.exe 和 dotnet 测试命令有什么区别吗?就像你什么时候应该使用一个而不是另一个。 “vstest.console.exe”是否仅适用于 .Net 框架,“dotnet 测试”适用于 dotnet 核心项目?我在谷歌或微软的文档中找不到任何具体的答案。

以下链接中的问题很接近,但答案并未解决差异。我想使用脚本在构建服务器中运行我的 C# 项目,并且想知道哪个是最好的选择。

testing in .net framework

【问题讨论】:

  • 一些实验可以证明两者都有效,这就是为什么不需要有关于“不支持的内容”的文档。
  • 你是说无论框架如何都可以使用吗?是 .net 核心还是 .net 框架?

标签: .net unit-testing vstest


【解决方案1】:

是的,文档https://docs.microsoft.com/pt-br/dotnet/core/testing/selective-unit-tests?pivots=mstest 描述了它。

基本上,使用 vstestconsole 你需要使用“--testcasefilter”而不是“--filter”。

【讨论】:

  • vstest和mstest是有区别的——前者是测试运行器,后者是测试框架。两者都可以独立使用。
【解决方案2】:

我相信 vstest.console.exe 在某些时候只运行 MSTestsdotnet test 被设计为更多的测试框架不可知并支持其他框架,如 NUnitxUnit 有可能在不同平台上运行它们(即不仅仅是 Windows,因为它与 vstest.console.exe强>)。

根据dotnet vstest的官方文档:

dotnet-vstest 命令运行 VSTest.Console 命令行应用程序以运行自动化单元测试。

MS 最近还在该页面上添加了一条重要说明:

dotnet vstest 命令已被 dotnet test 取代,现在可用于运行程序集。见dotnet test

所以现在看来​​ dotnet test 是这样 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    相关资源
    最近更新 更多