У меня есть таймер в моем классе, который мне нужен только один, поэтому у меня есть статическая ссылка на него в моем Main. Во время интеграционных тестов (не в обычном режиме выполнения) он создается несколько раз в разных тестах.
Моя идея состояла в том, чтобы создать Singleton, который унаследует все функциональные возможности, чтобы обеспечить его наличие. Я бродил, если это разумно, или я столкнусь с некоторыми подводными камнями, о которых я еще не думал?
например, в моем интеграционном тесте я сейчас использую
[TestMethod]
public void SomeTimerTest()
{
MyTimer t = new Mytimer();
t.Start();
}
тогда как после этого изменения я бы использовал
[TestMethod]
public void SomeTimerTest()
{
//creates a new instance or retrieves an already existing one
MytimerSingleton.Instance.Start();
}
, таким образом, исключая вероятность того, что у меня может быть два запущенных - (так как они обращаются к одному ресурсу в файловой системе)
Обновление: Исправлена терминология от модульного тестирования до интеграционного тестирования.