2014-02-13 153 views
1

我对单元测试相当陌生。我最近遇到了一个问题,我测试了一个只做一件事的方法 - 它调用了一个属于该类的对象的方法。这个对象代表的类有它自己的单元测试。如何测试调用另一个类的方法的方法?

据我所知,这个method may change in time,当它做测试应该告诉我如果预期的结果它。但是我能用这种方法测试什么?

我的代码:

public class MyClassToBeTested 
{ 
    private CustomType myObject; 

    private const myParameter = 2; 
    (...) 
    public string MyProperty 
    { 
     get 
     { 
      return myObject.DoYourStuff(myParameter); 
     } 
    } 
} 
+0

显示您的代码。 –

回答

1

这听起来像是你需要捕捉调用底层对象,并检查它(或至少验证已经调用)。我会mock这个对象,并注入它的参考(Inversion of Control)。

通过注入对象,您可以在部署时提供真实对象,并在测试期间提供模拟。

0

如果有什么依赖于别的东西。即方法调用另一个方法,那么你应该嘲笑它,或者模拟它的行为。

+0

我知道,但在这种情况下(我添加了一个代码示例)我只调用该方法来获取其结果并自动返回它。我不需要进一步的测试结果,所以我不认为嘲笑会帮助我... –

+1

那么测试的目的是什么?在TDD世界中,并非所有事情都需要测试。 – carousel

+0

我们(我的团队)在单元测试中覆盖了代码覆盖范围,最近我在一个提到的链接中阅读,无论如何我都应该测试它,以防万一属性发生变化。我确实有一个问题,因为我不知道那个测试将证明什么。 –

相关问题