1

我正在尝试在 MSTest 中编写单元测试,并且创建了两个 TestClass。当我查看测试列表编辑器时,显示的唯一测试是出现在其中一个类中的测试。

我不知道如何从这两个类中运行测试。有任何想法吗?

4

6 回答 6

3

(对于下一个通过谷歌到达这里寻找答案的人)

就我而言,以上均不适用。

使所有测试文件(以及其中的类)显示在测试资源管理器(VS2019)中的关键元素是public关键字添加到每个测试类。以前用 Nunit 不需要它,但我们搬到了 MSTest,然后测试就消失了。添加public使它们再次出现:

[TestClass]
public class TestBibTeX    // <-- +public+
{
  ...
于 2019-08-29T23:57:31.453 回答
2

我们的一些项目中有数百个测试用例。这不仅是可能的,而且是必不可少的。您很可能缺少测试类的类和/或方法的属性。

于 2009-04-30T14:24:27.983 回答
1

是的,这绝对是可能的,奇怪的是你所有的测试都没有出现。您的两个测试类都具有 [TestClass()] 属性吗?

于 2009-04-30T14:18:11.120 回答
1

如果您的类和方法仅是公开的,那么它将在测试资源管理器中查看。我遇到了同样的问题,只有当我在类和方法前面应用public关键字时才被删除。

[TestClass]
    public class Class1
    {
        [TestMethod]
        public void Method1()
        {
}}
于 2020-03-03T10:47:41.573 回答
0

似乎清理解决方案、关闭 Visual Studio、删除所有 TestResults、删除 .vsmdi 文件、删除 .ncb 文件并重建解决方案已经解决了问题。

于 2009-05-01T21:14:45.447 回答
0

我们在一个解决方案中有两个测试项目,测试列表显示了两个项目的所有测试。

我记得我过去遇到过这个问题,测试列表中缺少一些测试方法,我怀疑它与 .vsdmi 文件的错误有关。如果您使用源代码管理并允许多次签出,则可能会发生这种情况。

确保: 您的所有测试类都具有正确的属性。您所有的方法都具有适当的属性。

如果它仍然发生备份您的 .vsdmi 文件,请将其放在其他位置并删除项目树中的文件(很可能是根目录)。然后关闭并重新打开您的项目/解决方案并点击测试/窗口/测试视图...

希望这可以帮助!

于 2009-05-02T20:03:08.853 回答