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