У меня есть простой метод «Получить». Пример:Единичный тест не будет «покрывать» простой метод получения. (C#)
public class Foo : IFoo
{
public Dictionary<string,string> GetSomething(string xyz)
{
var result = new Dictionary<string,string>
... Go to DB and return some key value pairs
return result;
}
}
Я написал простой тест, который выполняется и успешно проходит, но я не получаю покрытие кода по методу.
[TestMethod()]
public void GetSomething()
{
var target = new StubIFoo();
var expected = new Dictionary<string, string>
{
{"blahKey","blahValue"}
};
var results = target.GetSomethingString = s =>
{
var result = new Dictionary<string, string> {{"a", "b"}};
return result;
};
var actual = results("a");
CollectionAssert.AreEqual(expected,actual);
}
Я также попытался предназначаться самого класса, который обеспечивает покрытие, но не возвращает никаких результатов (например: «вар цель = новый StubFoo();»)
Опять же, он успешно выполняет и проходит, но я не получаю никакого покрытия. Любые указатели будут оценены. Благодарю.
Какое покрытие вы ожидаете? Какова связь между «StubFoo» и «Foo»? – Paolo
Что вы пытаетесь проверить? 'Foo' или что-то еще? Если вы пытаетесь протестировать 'Foo', почему вы заканчиваете' GetSomething'? (В принципе, вы не можете ожидать покрытия по методу, который вы намеренно выполняете - вы не выполняете этот код!) –
Показать код для ваших заглушек. – Haney