在某些情况下,单元测试可能非常困难。通常人们建议只测试公共API,但在某些情况下这是不可能的。如果您的公共API依赖于文件或数据库,则无法进行正确的单元测试。那么你该怎么办呢?
由于我第一次进行TDD,我正在尝试找到适合我的单元测试风格,因为似乎没有一种万能的方法。我发现了两种方法来解决这个问题,但它们都存在缺陷。一方面,您可以尝试获取程序集并测试内部功能。另一方面,您可以实现接口(仅用于单元测试),并在单元测试中创建虚假对象。这种方法一开始看起来很好,但随着尝试使用这些虚拟对象传输数据时变得越来越丑陋。
有没有“好”的解决方法?其中哪一个更少有缺陷?或者还有第三种方法吗?
由于我第一次进行TDD,我正在尝试找到适合我的单元测试风格,因为似乎没有一种万能的方法。我发现了两种方法来解决这个问题,但它们都存在缺陷。一方面,您可以尝试获取程序集并测试内部功能。另一方面,您可以实现接口(仅用于单元测试),并在单元测试中创建虚假对象。这种方法一开始看起来很好,但随着尝试使用这些虚拟对象传输数据时变得越来越丑陋。
有没有“好”的解决方法?其中哪一个更少有缺陷?或者还有第三种方法吗?