gpt4 book ai didi

javascript - JS 测试运行器 html 与生产 html?

转载 作者:行者123 更新时间:2023-11-30 06:36:34 25 4
gpt4 key购买 nike

回答: 根据 SO 之外的人的建议:将 html 放入 View 文件中,并将其同时注入(inject)到您的生产页面和 testRunner 页面中。问题解决了。

以下粗体问题

假设我有一个方法可以在用户单击时将元素向左移动 50 像素。

负责这个的函数是

function moveElemLeft($elem, iPxLeft){}

在我的测试脚本中,我基本上有:

test("test moves function left via css", 1, function(){
//get first elem in test fixture.
var $testFixture = $('#qunit-fixture').children().eq(0);
var beforeLeft = $testFixture.css('left');
moveElemLeft($testFixture, 50);
var afterLeft = $testFixture.css('left');
equal(beforeLeft-50, afterLeft);
});

在我的 testRunner HTML 中,我会有类似

的内容
 <head><script href="test.js" /></head>
<body>
<div id="qunit-fixture">
<div id="testChild" class="absolute no-margins">
</div></div>
</body>

----- 问题 ----我的函数在测试期间运行正确但在生产中运行不正确的可能性不是很大吗,因为我在测试夹具中编写的 html 显然是微不足道的?使用与我的测试运行器 html 文件中相同的生产中的 html 不是更好吗?

但要做到这一点,这意味着在测试设置中,我必须将 html 从生产 html 文件复制到测试运行程序文件中。这可能吗?这里的最佳做法是什么?

最佳答案

Wouldn't it be better to use the same html that's in production as in my test runner html file?

除了单元测试之外,测试它会很有用。

不过,我不会替换一个小型的、自包含的测试,该测试表明当使用这样的测试在预期输入上运行时该函数的行为符合预期。

But to do that, that would mean on the test setup, I would have to copy html from the production html file, into the test runner file. Is that even possible? What's best practice here?

在生产 HTML 上运行测试(或者更确切地说,在专用测试服务器上单独安装它)。我会使用 Selenium 之类的东西在浏览器(或浏览器集合)中测试整个页面,而无需将测试代码注入(inject)页面本身。

关于javascript - JS 测试运行器 html 与生产 html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14045703/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com