Home  >  Q&A  >  body text

javascript - Jasmine如何测试内部方法?

一直没弄懂,单元测试应该如何进行?是将代码复制出来测试,还是分别调用? 如果是直接使用写好的类来测试,那内部方法如何测试?

比如

var Foo = (function () {
  return function () {
    function foo () {
    }
    function _foo () {
    }
    return { f: foo }
  }
})();

var instance = Foo();

jasmine:

expect(instance.f).toXXX();

可以调用instance.f()直接测试foo方法,但是_foo怎么测试?是不需要测试,还是复制出来测试?

或者我应该在内部直接测试?可是那样如何使用specRunner? 难道应该在类中写一个测试模式,用于临时调用?

PHPzPHPz2748 days ago489

reply all(2)I'll reply

  • PHP中文网

    PHP中文网2017-04-10 12:47:47

    不需要测试,你应该根据业务逻辑来写测试。某些测试看具体的结果来分析就好。

    reply
    0
  • ringa_lee

    ringa_lee2017-04-10 12:47:47

    无需测试。单元测试的目的是测试类/模块对外暴露的接口行为,不需要关心类/模块的内部实现。

    reply
    0
  • Cancelreply