Недавно я попал на платформу Pex & Moles, чтобы проверить некоторую логику со многими статическими, не виртуальными, запечатанными элементами и т. Д. Недавно я начал видеть поведение, которое я не могу объяснить от несколькихиз тестов.
Несколько методов для интерфейса, который я заглушил, возвращают void, поэтому я назначил заглушки делегатам, которые обновляют логические переменные, чтобы указать, что они были вызваны.Вот что я делаю:
[TestMethod]
[HostType("Moles")]
public void UnitTestX()
{
bool disposeCalled = false;
bool getCalled = false;
ClassX classX = new ClassX();
var data = new SIClassXData
{
Dispose = () => disposeCalled = true,
Get = () => getCalled = true,
ClassXGet = () => classX
};
MDataLayerFactory.CreateDataLayerObject(() => (IClassXData)data);
Assert.IsTrue(disposeCalled);
Assert.IsTrue(getCalled);
}
По какой-либо причине вышеизложенные утверждения завершаются успешно, если я запускаю этот тест один.Но если я запускаю тест вместе со всеми остальными тестами в сборке (используя возможность «Запустить все тесты в решении» в Visual Studio), первое утверждение завершится неудачей.что мне нужно изменить, чтобы решить эту проблему.