nic*_*ick 29 unit-testing ravendb
在我的单元测试中,我设置每个测试都有一个完全空的IDocumentSession.我是这样做的:
[SetUp]
public void SetUp()
{
_store = new EmbeddableDocumentStore
{
RunInMemory = true
};
_store.Initialize();
Session = _store.OpenSession();
}
Run Code Online (Sandbox Code Playgroud)
但我认为这可能是我的测试有点慢的原因.我想知道是否有一个简单的命令来删除数据库中的所有文档.
我想要知道的是:如果我能做到这一点,以及它是否会提高性能.
Dan*_*ang 21
尝试使用RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true
.
var _store = new EmbeddableDocumentStore()
{
Configuration =
{
RunInUnreliableYetFastModeThatIsNotSuitableForProduction = true,
RunInMemory = true,
}
};
Run Code Online (Sandbox Code Playgroud)
那里昂贵的电话是_store.Initialize()
- 你强迫RavenDb在每次测试时都站起来一个新的数据库.在大多数情况下,每个测试套件运行一个数据库都可以运行
另一种选择是使用nature或RavenDb的ID来命名测试.如果真正的问题是重复的键错误和其他工程方面的事情,这是非常方便,所以你没有一个讨厌的清理.