当在Visual Studio中运行单元测试时,我得到了0个总测试- 0个通过,0个失败,0个跳过,即使在类中进行了测试。
de90aj5v1#
在Nunit中,如果在加载测试设置或执行时出现异常,则会导致上述结果。从Visual Studio菜单中打开debug=〉output并选择Test window,然后查看在运行测试时是否抛出任何异常。在我的案例中,在project1中,我有nunit2(reference),在project2中,我有nunit3,它引用了导致冲突且无法执行的project1。如果您解决了异常,它应该可以工作
0ve6wy6x2#
检查您的解决方案中是否有运行设置文件,或者是否在VS -〉测试-〉配置运行设置下选择了一个文件。如果选择了该文件,请取消选中它。删除该文件。我已修复此问题。
qcbq4gxm3#
确保类的访问修饰符为public而不是internal。如果为internal,则类中的任何[Fact]都不会在测试资源管理器中注册为测试,也不会运行。
public
internal
[Fact]
im9ewurl4#
从nuget包管理器安装Microsoft.NET.Test.Sdk包解决了我的问题。我还安装了xunit和xunit.runner.visualstudio包。
Microsoft.NET.Test.Sdk
xunit
xunit.runner.visualstudio
pw9qyyiw5#
如果有人还在为此而挣扎,安装“MSTest.TestAdapter”解决了我的问题。
ugmeyewa6#
对我来说,一个简单的“清洁解决方案”起作用了。
z5btuh9x7#
在我的例子中,问题是不同的。在VS中,单元测试是基于测试类来识别的。在我的例子中,没有类的访问修饰符,这导致了问题。VS无法识别特定类的测试方法。
class ControllerTests { public Controller _Controller; [TestMethod()] }
向类中添加public之后,它运行良好。Publicclass ControllerTests {公共控制器_控制器;
[TestMethod()] }
dxxyhpgq8#
对于MSTest用户-如果您有一个用[ClassInitialize]属性标记的方法,请确保它既是public又是static,并且只有一个TestContext类型的参数,否则测试文件将不会运行。
[ClassInitialize]
static
TestContext
[ClassInitialize] public static void ClassInitialize(TestContext testContext) { // initialization code... }
8条答案
按热度按时间de90aj5v1#
在Nunit中,如果在加载测试设置或执行时出现异常,则会导致上述结果。从Visual Studio菜单中打开debug=〉output并选择Test window,然后查看在运行测试时是否抛出任何异常。在我的案例中,在project1中,我有nunit2(reference),在project2中,我有nunit3,它引用了导致冲突且无法执行的project1。
如果您解决了异常,它应该可以工作
0ve6wy6x2#
检查您的解决方案中是否有运行设置文件,或者是否在VS -〉测试-〉配置运行设置下选择了一个文件。如果选择了该文件,请取消选中它。删除该文件。我已修复此问题。
qcbq4gxm3#
确保类的访问修饰符为
public
而不是internal
。如果为internal
,则类中的任何[Fact]
都不会在测试资源管理器中注册为测试,也不会运行。im9ewurl4#
从nuget包管理器安装
Microsoft.NET.Test.Sdk
包解决了我的问题。我还安装了xunit
和xunit.runner.visualstudio
包。pw9qyyiw5#
如果有人还在为此而挣扎,安装“MSTest.TestAdapter”解决了我的问题。
ugmeyewa6#
对我来说,一个简单的“清洁解决方案”起作用了。
z5btuh9x7#
在我的例子中,问题是不同的。在VS中,单元测试是基于测试类来识别的。在我的例子中,没有类的访问修饰符,这导致了问题。VS无法识别特定类的测试方法。
向类中添加public之后,它运行良好。Publicclass ControllerTests {
公共控制器_控制器;
dxxyhpgq8#
对于MSTest用户-如果您有一个用
[ClassInitialize]
属性标记的方法,请确保它既是public
又是static
,并且只有一个TestContext
类型的参数,否则测试文件将不会运行。