我设立皮下试验,遵循类似的范例所概述here。调用Respawn的复位擦拭我的整个数据库。
我设置检查点,然后重新设置。我尝试在测试之前和之后通过静态类,在测试装置中以及通过由测试类实现的抽象类以及在测试本身中进行重置,无论哪种情况,它都会擦除整个数据库。
我用来创建事件的连接字符串与我用来重置事件的连接字符串相同,它是一个SQL数据库。
[Theory, AutoData]
public async void Should_GetAnEvent(Create.Parameter eventParam)
{
//Arrange
var newCheckpoint = new Checkpoint();
var eventId = await CreateEvent(eventParam);
//Act
var result = await Mediator.Send(new GetEventRequest(eventId));
//Assert
//Some asserts here
await newCheckpoint.Reset(ConnectionString.Value.ConnectionString);
}
我所期望的检查点保存数据库的快照,可以这么说,然后就可以恢复到它。相反,它完全抹去。测试通过。
答案 0 :(得分:0)
Respawn不会还原为已知快照,而是会擦除快照。这是设计使然。我误解了他图书馆的工作。