我有一个看起来像这样的课程:
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,只有特定测试(测试的唯一测试)MyService.
编辑2: …