我刚刚遇到了我的应用程序错误,可能会被抓了一些集成测试,所以我觉得它的时候我写了一些!集成测试 - 您测试什么级别以及如何设置?
我的问题涉及到这些测试的设置,以及在什么层的代码的运行对测试。
设置
考虑我应该有很多的集成测试,我不希望创建和删除测试数据库为每一个测试,这将是缓慢的epically(即使它的SqlLite IN-记忆之一)。我的想法是:
- 有一个测试数据库,其旁边坐到我的dev的分贝
- 测试之前,运行一些复位脚本会正确设置我的架构和插入任何必要的数据(没有测试的情况下具体)
- 简单地使用这个测试数据库就好像它的真实分贝。
但是,我必须在每个[设置]中运行我的Fluent NHib配置,这似乎非常浪费。这很难吗?我在这里有什么选择?
我的会话当前包裹在UOW图案,以创建和销毁分别对begin_request和END_REQUEST(MVC Web应用程序)执行。我是否应该修改此测试以便与测试一起解决此问题?
测试
当谈到实际编写一些测试,我应该怎么办呢?
我应该从尽可能高的级别(我MVC控制器动作),或者从最低(库)测试。
如果我以最低的测试我必须手动硬盘所有数据的代码。这会使我的测试变得更易于修改代码,也不能代表运行时代码中会发生什么。如果我在最高的测试我跑我的所有IOCC设置,使依赖注入获得与整个事情的功能(再次,在每一个[设置]重复这一点?)
咩!我迷路了,有人指着我正确的方向!
感谢