标准Javascript函数上的TDD

标准Javascript函数上的TDD,javascript,html,tdd,Javascript,Html,Tdd,关于“标准Javscript/HTML”函数,我有一个与TDD相关的问题 鉴于我有这个功能: function ContainerHandler(elDivContainer){ this.elContainer = elDivContainer; //...Register events to the given container and do some other fancy stuff... }; ContainerHandler.prototype.getScroll

关于“标准Javscript/HTML”函数,我有一个与TDD相关的问题

鉴于我有这个功能:

function ContainerHandler(elDivContainer){
    this.elContainer = elDivContainer;
    //...Register events to the given container and do some other fancy stuff...
};

ContainerHandler.prototype.getScrollTop = function(){
    return this.elContainer.scrollTop;
};
ContainerHandler.prototype.setScrollTop = function(iScrollTop){
    this.elContainer.scrollTop = iScrollTop;
};
ContainerHandler.prototype.getBoundingClientRect = function(){
    return this.elContainer.getBoundingClientRect();
};
现在,我的问题是,如何为“代理”上述标准javascript函数的函数编写有意义且适当的测试?目前,我所做的基本上只是将一个虚拟div输入到构造函数中,并检查函数的输出是否与我在虚拟div上定义的相同属性对应,但是,我不太确定这是否足够。你们有没有更好的办法来解决这个问题

提前非常感谢


弗兰克

在我看来,这不是TDD。您不需要测试基本功能或实现。@webduvet嘿,谢谢您的输入。实际上,我是通过编写测试来开发的。所以我的思路基本上是:“好的,我需要一个类来包装渲染器构建的容器div,然后我必须有一个函数来获取当前的scrollTop,还有一个函数来设置scrollTop和bla-bla-bla..”,因此我对此进行了测试,我发现实现它的方法基本上与上面一样。此外,上面的代码不是我已经实现的实际代码,而是相同的想法/结构。您应该只测试可能会中断的东西——在这种情况下,这些方法非常简单,人们不会费心。如果您确实想测试它们,那么您必须传入一个模拟容器并确认正确的方法是正确的invoked@EngineerDollery谢谢你的意见!我部分同意你的意见,但我想到的是。可能在某个时候,有人想在这些函数的返回值上添加一个偏移量,例如,在返回rect之前对其进行转换。如果发生这种情况,并且有其他函数依赖于此API,则可能会发生一些奇怪的情况,如果没有针对此问题的任何测试,则故障排除可能会有点棘手。这种情况有意义吗?还是我对测试的东西太严格了?谢谢我认为这不是TDD。您不需要测试基本功能或实现。@webduvet嘿,谢谢您的输入。实际上,我是通过编写测试来开发的。所以我的思路基本上是:“好的,我需要一个类来包装渲染器构建的容器div,然后我必须有一个函数来获取当前的scrollTop,还有一个函数来设置scrollTop和bla-bla-bla..”,因此我对此进行了测试,我发现实现它的方法基本上与上面一样。此外,上面的代码不是我已经实现的实际代码,而是相同的想法/结构。您应该只测试可能会中断的东西——在这种情况下,这些方法非常简单,人们不会费心。如果您确实想测试它们,那么您必须传入一个模拟容器并确认正确的方法是正确的invoked@EngineerDollery谢谢你的意见!我部分同意你的意见,但我想到的是。可能在某个时候,有人想在这些函数的返回值上添加一个偏移量,例如,在返回rect之前对其进行转换。如果发生这种情况,并且有其他函数依赖于此API,则可能会发生一些奇怪的情况,如果没有针对此问题的任何测试,则故障排除可能会有点棘手。这种情况有意义吗?还是我对测试的东西太严格了?谢谢