【问题标题】:How to handle inner functions in qunit如何处理 qunit 中的内部函数
【发布时间】:2013-05-23 10:48:56
【问题描述】:

我刚开始接触 Qunit,对它了解不多。

我遇到的问题是我已经在我的代码中编写了这个函数,并想使用 Qunit 对其进行测试。

  <script>
    function calc(firstno,secnum){
       return firstno + secnum;
     }

   function main (firstno,secnum){

    return  calc(firstno,secnum);

    }


 </script>

那么,当我为main 函数编写测试用例时,我应该如何测试calc 函数。

【问题讨论】:

    标签: javascript unit-testing qunit


    【解决方案1】:
    test('Testing that main adds numbers', function() {
        var a = 1;
        var b = 3;
    
        var result = main(a, b);
        equal(4, result, 'Main adds two numbers together');
    });
    

    当您测试main() 时,您不必担心它调用calc() 只是它返回两个相加的数字。

    在您的示例中,您可能会对 calc() 进行单独测试,因为它是公开可用的。这样你就是说你有函数maincalc

    您正在测试代码的行为,而不是实际的实现。 main 调用 calc 的事实不是您要测试的。只有main 的实际返回值是多少。

    【讨论】:

    • 如果内部函数有可模拟的东西会发生什么。会不会失败?
    • @Jagan 然后你可以创建一个注入到代码中的双精度数。但是,这应该保留给外部操作(AJAX 调用、第 3 方 API 等)。您没有指定代码如何执行其操作。您正在指定操作是什么。
    猜你喜欢
    • 2021-03-31
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 2015-03-08
    • 1970-01-01
    • 2015-11-13
    • 1970-01-01
    相关资源
    最近更新 更多