@F1000
Здравствуйте. Есть метод, создающий коллекцию объектов из входящей строки. Если при unit-тестировании получить коллекцию и сохранить её в конструкторе, а в тест-методах только вызывать assert’ы, проверяющие объекты в коллекции, то это будет считаться плохой практикой?
public class Test
{
private List<T> collection;
public Test()
{
collection = Foo("const"); // тестируемая функция
}
[Fact]
public void CollectionIsNotNull()
{
Assert.NotNull(collection);
}
// остальные тесты
}
Решения вопроса 1
@user_of_toster
В js/ts есть похожая практика, когда в блоке beforeAll() устанавливаются нужные для связанных по концепции тестов компоненты, а потом сами тесты выходят в одну-две строки и состоят только из assert’ов. Имхо, помогает соблюдать DRY и ничего плохого в этом нет
describe("My class", () => {
let myMock, myFunc, myClass;
beforeAll(() => {
/// здесь устанавливаю моки, впрыскиваю зависимости и т.д;
})
test("mock works well with numbers", () => {
assert(myMock).worksWellwithStrings()
})
test("class works well with numbers", () => {
assert(myClass).worksWellWithMocks()
})
test("instance works well with numbers", () => {
assert(myInstance).worksWell()
})
})
Комментировать
Ответы на вопрос 0