如何在不暴露访问者的情况下对结构进行单元测试

时间:2015-09-03 10:59:57

标签: unit-testing racket abstract-data-type

假设我想构建一个Vector库。它有一个Vector结构:

(struct vector (x y z))

现在我想在测试模块中为矢量模块编写单元测试。 为了测试我需要访问x y和z。但我不想暴露vector-{xyz}。有没有办法只为单元测试提供访问器?

1 个答案:

答案 0 :(得分:3)

确实,我找到了一种使用submodule

隐藏内容的方法
    int cash = 10;
    int balance = 100;
    if (balance-cash>100){  
        balance=balance-cash;
        System.out.println(balance);
    }else
        System.out.println("You do not have enough balance");
    }

然后我可以要求私人测试仅用于测试目的。

 ;; vector.rkt
 (struct vector (x y z))

 (module* private-test #f
           (provide vector-x vector-y vector-z))