I need a number of different full-page DOM samples for my qUnit test suite

与世无争的帅哥 提交于 2019-11-30 09:19:10

#qunit-fixture is automatically reset by QUnit, which means you can fill it with markup used by each test, or leave it empty and have each test fill it to leverage the auto rest. Or just use markup that you reset individually after each test.

You can refactor per-test setup and teardown using the module method: http://docs.jquery.com/QUnit/module

In this case it sounds like a good option would be using (synchronous) ajax requests for each test, loading the page markup you need into the #qunit-fixture element. That way you only need custom setup, as QUnit will reset afterwards.

Even if you're dealing just with local files from the filesystem, as long as they are in the same directory as your testsuite file, you should be able to load them via ajax.

If not, its easy enough to get a local server running, e.g. via "open http://localhost:8080/ && python -m SimpleHTTPServer 8080" in that directory.

For testing a full page and DOM, I would use something like Selenium http://seleniumhq.org/ Since you have some familiarity with JS testing, you might also consider http://www.phantomjs.org/ and http://zombie.labnotes.org/

With these you basically use a node.js server to load the page, from which you have complete access to the DOM at the node.js commandline or through scripting. Think of it like firebug scripting on the commandline (alternatively, a firebug plugin can do the same thing). You can do asserts to see that your id'ed elements exist, and toggle click elements and such.

(btw I was at bocoup, too :D)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!