我正在尝试在 MSTest 中编写单元测试,并且创建了两个 TestClass。当我查看测试列表编辑器时,显示的唯一测试是出现在其中一个类中的测试。
我不知道如何从这两个类中运行测试。有任何想法吗?
我正在尝试在 MSTest 中编写单元测试,并且创建了两个 TestClass。当我查看测试列表编辑器时,显示的唯一测试是出现在其中一个类中的测试。
我不知道如何从这两个类中运行测试。有任何想法吗?
(对于下一个通过谷歌到达这里寻找答案的人)
就我而言,以上均不适用。
使所有测试文件(以及其中的类)显示在测试资源管理器(VS2019)中的关键元素是将public
关键字添加到每个测试类。以前用 Nunit 不需要它,但我们搬到了 MSTest,然后测试就消失了。添加public
使它们再次出现:
[TestClass]
public class TestBibTeX // <-- +public+
{
...
我们的一些项目中有数百个测试用例。这不仅是可能的,而且是必不可少的。您很可能缺少测试类的类和/或方法的属性。
是的,这绝对是可能的,奇怪的是你所有的测试都没有出现。您的两个测试类都具有 [TestClass()] 属性吗?
如果您的类和方法仅是公开的,那么它将在测试资源管理器中查看。我遇到了同样的问题,只有当我在类和方法前面应用public关键字时才被删除。
[TestClass]
public class Class1
{
[TestMethod]
public void Method1()
{
}}
似乎清理解决方案、关闭 Visual Studio、删除所有 TestResults、删除 .vsmdi 文件、删除 .ncb 文件并重建解决方案已经解决了问题。
我们在一个解决方案中有两个测试项目,测试列表显示了两个项目的所有测试。
我记得我过去遇到过这个问题,测试列表中缺少一些测试方法,我怀疑它与 .vsdmi 文件的错误有关。如果您使用源代码管理并允许多次签出,则可能会发生这种情况。
确保: 您的所有测试类都具有正确的属性。您所有的方法都具有适当的属性。
如果它仍然发生备份您的 .vsdmi 文件,请将其放在其他位置并删除项目树中的文件(很可能是根目录)。然后关闭并重新打开您的项目/解决方案并点击测试/窗口/测试视图...
希望这可以帮助!