mck*_*oss 5 testing mocha.js node.js promise
我正在尝试将一些以编程方式生成的测试与 Node.js 中的 Mocha 测试框架集成。
\n\nvar Promise = require(\'promise\');\n\nvar resolved = Promise.resolve(true);\n\nsuite("Synchronously defined suite", function() {\n test("Synchronously defined test", function() {\n return resolved;\n });\n});\n\ndefer(function() {\n suite("Asynch DEFINED test", function() {\n suiteSetup(function() {\n console.log("Asynch setupSuite running...");\n });\n\n test("Asynch Test", function() {\n console.log("Async test running...");\n return resolved;\n });\n });\n});\n\nfunction defer(fn) {\n console.log("Calling defer...");\n setTimeout(fn, 100);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n当我执行这个时,我得到:
\n\n$ mocha --ui tdd nested-test.js \nCalling defer...\n\n\n Synchronously defined suite\n \xe2\x9c\x93 Synchronously defined test\n\n\n 1 passing (4ms)\nRun Code Online (Sandbox Code Playgroud)\n\n似乎 Mocha 要求所有“套件”函数在模块加载时同步执行 - 延迟调用似乎被(默默地)忽略(或者程序在调用它们之前退出)。
\n这就是我想出的办法。它不在 mocha 下运行,而是作为一个独立的节点程序运行:
\n\nvar Promise = require(\'promise\');\nvar Mocha = require(\'mocha\');\n\nvar resolved = Promise.resolve(true);\nvar rejected = Promise.reject(new Error("Failing test."));\n\ndefer(function() {\n console.log("Programmatic test suite creation.");\n var suite = new Mocha.Suite("Programatic Suite");\n var runner = new Mocha.Runner(suite);\n var reporter = new Mocha.reporters.Spec(runner);\n\n suite.addTest(new Mocha.Test("My test", function() {\n return resolved;\n }));\n\n suite.addTest(new Mocha.Test("My (failing) test", function() {\n return rejected;\n }));\n\n runner.run();\n});\n\nfunction defer(fn) {\n setTimeout(fn, 100);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n运行时输出:
\n\n$ node deferred-test.js \nProgrammatic test suite creation.\n\nProgramatic Suite\n \xe2\x9c\x93 My test\n 1) My (failing) test\n\n 1 passing (7ms)\n 1 failing\n\n 1) Programatic Suite My (failing) test:\n Error: Failing test.\n at Object.<anonymous> (deferred-test.js:5:31)\n at node.js:935:3\nRun Code Online (Sandbox Code Playgroud)\n\n不过,我希望能够将此测试包含在我的应用程序中的所有(静态定义的)摩卡运行测试套件中。
\n| 归档时间: |
|
| 查看次数: |
1798 次 |
| 最近记录: |