我刚刚开始熟悉qunit,而且我正试图通过官方介绍。 有很多问题出现了,我无法在他们关于qunit或网络上其他地方的文档中找到任何问题。
"功能(断言)"做?对于几种断言方法,断言是qunit中的一个类别,但它本身并不是一种方法。所以如果我把'#34;断言"进入函数的参数,会发生什么?是否所有断言方法都与"断言"在测试中执行了吗?
这是使用此语法的一段代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Refactored date examples</title>
<link rel="stylesheet" href="https://code.jquery.com/qunit/qunit-2.5.0.css">
<script src="https://code.jquery.com/qunit/qunit-2.5.0.js"></script>
<script src="prettydate.js"></script>
<script>
QUnit.test("prettydate basics", function( assert ) {
var now = "2008/01/28 22:25:00";
assert.equal(prettyDate(now, "2008/01/28 22:24:30"), "just now");
assert.equal(prettyDate(now, "2008/01/28 22:23:30"), "1 minute ago");
assert.equal(prettyDate(now, "2008/01/28 21:23:30"), "1 hour ago");
assert.equal(prettyDate(now, "2008/01/27 22:23:30"), "Yesterday");
assert.equal(prettyDate(now, "2008/01/26 22:23:30"), "2 days ago");
assert.equal(prettyDate(now, "2007/01/26 22:23:30"), undefined);
});
</script>
</head>
<body>
<div id="qunit"></div>
</body>
</html>
答案 0 :(得分:2)
完整的一行是:
QUnit.test("prettydate basics", function( assert ) {
这会调用函数QUnit.test
,并且您正在向它传递回调函数。该回调需要一个参数。 QUnit.test
会将对象作为回调的第一个参数传递,该参数将成为您的assert
参数。该对象有各种断言方法。
它基本上是将断言对象注入到代码中,以便您可以使用它来进行断言。
粗略地QUnit.test
实现如下:
QUnit.test = function (name, callback) {
const assert = {
equal: function () { ... },
...
};
callback(assert);
};