Кто-нибудь, если следующий код (идея, на самом деле) возможен с использованием xunit
:
public class RepositoryTester {
private IRepository repository;
public RepositoryTester(IRepository repository) {
this.repository = repository;
)
[Fact] // Analogue of [Test] in other test packages.
void CanDoWhatever() {
// Test code
}
}
Теперь, если я попытаюсь запустить все модульные тесты, произойдет сбой, пока xunit
пытается создать объект RepositoryTester
, вызывая new RepositoryTester()
(он вызывает конструктор без параметров).
То, что я хочу сделать, можно эквивалентно выразить так:
var tester1 = new RepositoryTester(new SQLRepository(...));
var tester2 = new RepositoryTester(new InMemoryRepository(...));
tester1. RUN_ALL_TESTS();
tester2. RUN_ALL_TESTS();
Кто-нибудь знает, возможно ли следующее поведение? (я действительно хочу использовать один и тот же тестовый пакет для каждого тестируемого репозитория через его интерфейс).
Спасибо