测试依赖于数据库数据的 API 的最佳实践是什么?
在将单元测试作为构建过程的一部分运行的“持续集成”环境中,我需要注意哪些问题?我的意思是您将您的数据库部署为构建脚本的一部分(可能会运行您的安装程序)还是我应该使用硬编码数据[使用带有 XML 的 MSTest 数据驱动单元测试]?
我知道我可以模拟业务逻辑层的数据层,但是如果我在 DAL 中的 SQL 语句有问题怎么办?我确实需要访问数据库,对吗?
嗯...这是一大堆问题:)...想法?
最佳答案
您应该尽可能地模拟代码以避免完全访问数据库,但在我看来,您需要在某处测试您的 SQL 是正确的。如果您编写了访问数据库的测试,避免头痛的一个关键技巧是确保您的设置使数据进入已知状态,而不是依赖于已经有合适的可用数据。
当然,永远不要针对您的实时数据库进行测试!但这不言而喻:)
关于unit-testing - 数据驱动单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/244118/