我有一个看起来像这样的类:
public class MyService
{
private MyService(){}
public static string GetStuff()
{
var stuffDid = new MyService();
return stuffDid.DoStuff();
}
private string DoStuff()
{
//do stuff
}
//other private helpers
}
显然我遗漏了很多,但这是一般的外壳。
现在,我有一个单元测试:
[Test]
public void MyTest()
{
var results = MyService.GetStuff();
}
我在单元测试中设置了断点,我可以看到results
有数据。但是,我从字面上设置了断点,MyService
除非我把它们放在花括号上,否则什么都不会被击中。results
由于有数据,我无法理解,我的return
陈述MyService
应该受到打击,对吗?
我错过了什么吗?我是否完全忘记了一些最基本的规则?怎么什么都没有MyService
被击中?如果我用 手动进入它F11
,它只会跳来跳去,甚至不会像我预期的那样遍历每一行。此外,当我手动单步执行时,我倾向于在最初应该点击某些代码之后点击它。并且任何switch
语句似乎都默认为第一个选项,即使正在切换的值应该明确输入不同的case
.
我什至尝试过制作MyService
构造函数public
并带走所有static
方法,但它仍然不起作用。
我的测试和“核心”代码在同一个解决方案中,但不同的项目(分别是Test
和)。Core
其他测试在 中打断点没有问题Core
,只有在特定测试中(唯一的测试是 testing MyService
)。
我已经删除了我的 PDB 文件并清理了解决方案。依然没有。