编写单元测试用例

时间:2012-12-09 10:19:07

标签: c# unit-testing

我已经开始在我的一些项目中使用单元测试,我有一个小问题,我需要测试一个方法,我已经用完了想法作为一个例子:我有这个

    public class Clients
    {
      Public Assignment AssignClient(int? clientRef, int? productRef)
       //Assignment is an enum that has success,Failure,etc...
        {
         If(!checkClientAge(int clientRef)) Return Assignment.Tooyoung;
          If(!checkClientAvailability(int clientRef)) Return Assignment.NotAvailable;
         If(! checkProductavailability(int productRef)) Return Assignment.ProductNotAvailable;
        }
     }

我在客户端类和AssignClient上做了一个模拟,但是我不知道如何处理三个布尔方法,不确定你是否知道如何模拟它们?

1 个答案:

答案 0 :(得分:1)

如果你正在测试Clients类,那么你不要模拟它,你需要一个真实的实例。相反,你嘲笑它使用的其他类,以便你可以从它们返回已知和可预测的结果,并消除数据库访问,UI交互等复杂性。

AssignClient方法不适合单元测试,除非对私有方法的三次调用设置了外部可见的标志或属性 - 如果它们没有,那么没有任何可测量或观察的东西,你无法判断测试成功或失败。