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

前端 未结 2 2104
陌清茗
陌清茗 2020-12-31 16:55

I have a small amount of Javascript to test, but it operates on the entire page, for example, finding elements by numbered ids like \"#t34\". I need to create a handful of

相关标签:
2条回答
  • 2020-12-31 17:29

    #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.

    0 讨论(0)
  • 2020-12-31 17:36

    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)

    0 讨论(0)
提交回复
热议问题