"function (assert)" 是做什么的?
What does "function (assert)" do?
刚开始接触qunit,正在努力通过官方介绍。
出现了很多问题,我在他们的文档中找不到任何关于 qunit 或网络上其他地方的信息。
"function (assert)" 是做什么的? Assert 是 qunit 中用于多种断言方法的类别,但它本身并不是一种方法。那么如果我将 "assert" 放入函数的参数中,会发生什么? "assert"关联的断言方法是否都在测试中执行?
这是一段使用了这种语法的代码
<!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>
完整行是:
QUnit.test("prettydate basics", function( assert ) {
这会调用函数 QUnit.test
,您正在向它传递一个回调。该回调采用一个参数。 QUnit.test
会将一个对象作为第一个参数传递给您的回调,它成为您的 assert
参数。该对象有多种断言方法。
它基本上是将断言对象注入到您的代码中,以便您可以使用它来进行断言。
大致QUnit.test
是这样实现的:
QUnit.test = function (name, callback) {
const assert = {
equal: function () { ... },
...
};
callback(assert);
};
刚开始接触qunit,正在努力通过官方介绍。 出现了很多问题,我在他们的文档中找不到任何关于 qunit 或网络上其他地方的信息。
"function (assert)" 是做什么的? Assert 是 qunit 中用于多种断言方法的类别,但它本身并不是一种方法。那么如果我将 "assert" 放入函数的参数中,会发生什么? "assert"关联的断言方法是否都在测试中执行?
这是一段使用了这种语法的代码
<!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>
完整行是:
QUnit.test("prettydate basics", function( assert ) {
这会调用函数 QUnit.test
,您正在向它传递一个回调。该回调采用一个参数。 QUnit.test
会将一个对象作为第一个参数传递给您的回调,它成为您的 assert
参数。该对象有多种断言方法。
它基本上是将断言对象注入到您的代码中,以便您可以使用它来进行断言。
大致QUnit.test
是这样实现的:
QUnit.test = function (name, callback) {
const assert = {
equal: function () { ... },
...
};
callback(assert);
};