首先,我是测试驱动开发 (TDD) 和行为驱动开发 (BDD) 的新手,我很难相信这是开发网页的好方法,因为页面通常需要在快速的方式,如果您必须先开发测试代码才能做任何事情,这很难。
无论如何!
我写这个线程的原因不是因为,我发现是,问题(但如果你有输入,我也会喜欢阅读它!)。我一直在阅读一些关于语法、它是如何工作的以及所有这些的。我发现,如果我的函数不返回值,这种方法很难实现。
例如,假设我有一个点击事件触发函数,它仅更改输入的文本值:
$('input[type="text"]').click(function() {
$(this).val('Oh, that tickles!');
});
茉莉花是如何处理这个问题的?像下面的代码?:
describe('Input type text is clicked', function () {
it('changes text in the input field', function () {
expect($('input[type="text"]').val()).toEqual("Oh, that tickles!");
});
});
这虽然是错误的,因为 jQuery 对象可以包含多个不包含该值的输入字段。有没有办法找到元素(例如$(this)
或类似的),或者我应该在茉莉花测试中放置一个点击处理程序?像这样:
describe('Input type text is clicked', function () {
it('changes text in the input field', function () {
$('input[type="text"]').click(function() {
expect($(this).val()).toEqual("Oh, that tickles!");
}
});
});
一些清晰会很好:)
提前非常感谢!
/J。