如何确保在NUnit的单元测试期间不访问文件系统和数据库

本文关键字:访问 文件系统 数据库 单元测试 何确保 确保 NUnit | 更新日期: 2023-09-27 18:13:08

我正在寻找一种方法,如果使用NUnit和c#访问文件系统或数据库,则导致单元测试失败。我希望能够在单元测试基类中设置一些东西,以防止对所有子测试类的文件系统访问。

我目前需要禁用数据库服务,运行单元测试,并检查哪些测试失败,以便找到访问它们不应该访问的资源的任何测试。我想找到一种方法来自动化此过程,以便这些测试在编写后立即失败。

如何确保在NUnit的单元测试期间不访问文件系统和数据库

针对特定场景(例如无法访问文件系统)测试系统功能的一种方法是抽象访问文件系统的代码部分,然后将这些代码"插入"到通过依赖注入使用它们的类中。通过这样做,您可以在模拟文件访问对象抛出特定错误和/或模拟成功场景的测试中进行测试。下面的文章有一些关于依赖注入的链接,你可能会觉得有用

.NET中的依赖注入

你可能还想看看写代码的SOLID原则