У меня есть класс, который выглядит так:
public class MyService
{
private MyService(){}
public static string GetStuff()
{
var stuffDid = new MyService();
return stuffDid.DoStuff();
}
private string DoStuff()
{
//do stuff
}
//other private helpers
}
Очевидно, что я оставил много, но это общая оболочка.
Теперь у меня есть unit test:
[Test]
public void MyTest()
{
var results = MyService.GetStuff();
}
Я установил точки останова на мой unit test, и я вижу, что results
имеет данные. Тем не менее, я устанавливал точки останова буквально на всем протяжении MyService
, и ничто не пострадало, если я не надену их на фигурные скобки. Который я не могу понять, так как results
имеет данные, мои инструкции return
в MyService
должны получать удар, правильно?
Я что-то упустил? Я полностью забыл о самых элементарных правилах чего-то? Почему ничего в MyService
не попадает? И если я вручную перейду на него с помощью F11
, он просто переплывет и даже не пройдет через каждую строку, как я ожидал. Также, когда я наступаю вручную, я, как правило, нажимаю на определенный код после того, как я должен был ударить его изначально. И любые операторы switch
кажутся по умолчанию независимо от того, что первый вариант, даже если значение переключаемого значения должно ЧИСТИТЬ ввести другой case
.
Я даже попытался сделать конструктор MyService
public
и убрать все методы static
, и он все равно не работает.
Изменить:
Мои тесты и код "Core" находятся в одном решении, но разные проекты (Test
и Core
, соответственно). Другие тесты не имеют проблем с точками разрыва в Core
, только это на конкретном тесте (единственный тест, который тестирует MyService
.
Изменить 2:
Я удалил файлы PDB и очистил решение. Все еще ничего.