12
|
Ron Klein Noa Kuperberg · 技术社区 · 16 年前 |
![]() |
1
6
I've written adapters
然后您可以注入一个模拟文件作为IFile进行测试。 |
![]() |
2
5
好的,我没有你想要的文件系统模拟库(虽然它可能在某处,而且会很酷),但这可能会有所帮助。单元测试思想的“行为主义”学派提出的一个有趣的概念是“外向接口”的概念。在某些情况下,将一个对象对其自身之外的整个宇宙的调用,并将其转化为一个接口,似乎有着与为外部世界可以调用的方法创建接口的典型行为一样的价值 在…上 在这种情况下,您可能会考虑,而不是嘲笑整个文件系统,为您的对象从外部世界提供的答案和服务提供一个或多个逻辑上一致的接口。这些电话只会回答你需要回答的问题。。。不要求执行。然后,您可以使用您提到的依赖项注入来注入您希望用于测试的实现。你可能会用最小起订量来做,因为你很熟悉它。 因此,您的“传出接口”可能有一个名为DoesFileExist()的方法。它可能接受一条路径。或者,如果您的对象试图回答一个“更高级别”的业务问题,那么查看文件是否存在只是一个简单的问题 方法 这个问题得到了回答,那么您的传出接口可能根本就没有关于文件存在的方法。相反,它可能类似于“DoIAppearToHaveAccessToTheFileServer”,甚至可能是“IsthereapPreviouslySavedName”。 这是一些工作,但可能更符合良好单元测试的原则。。。让您的测试对象表达它试图做什么,让您的单元测试测试它,并且只测试它。只是一个想法。。。希望能有帮助。 |
![]() |
3
3
我保持 Jolt.NET Jolt.Testing 图书馆获取更多信息。 |
![]() |
4
2
|
![]() |
5
0
我知道 Typemock 包可以做这样的事情。 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 3 年前 |
![]() |
Korr · 如何用Jest模拟组件测试中服务的功能 3 年前 |
![]() |
Jordan Lee · 在另一个类中使用实例方法作为装饰器 6 年前 |
![]() |
user2350138 · 为WireMock构建Java项目 7 年前 |
|
user8584384 · 单元测试不起作用,因为导入的文件作为输入 7 年前 |
![]() |
Vino · 如何模拟Python类的对象? 7 年前 |
![]() |
Enrico · .NET核心ASP。带有会话和测试的NET控制器 7 年前 |