我有很多的茉莉花單元測試,運行單元測試的Javascript代碼。 他們正在使用Jasmine-jquery插件來執行DOM操作。 他們使用loadFixture,加載HTML的Javascript JsTestDriver茉莉花和茉莉花的jQuery
我想這些自動化單元測試,使用JsTestDriver的燈具,與JasmineAdapter 但是所有的測試涉及的DOM jQuery的操作是不及格? 這有什麼問題嗎? 有沒有辦法與JsTestDriver一起使用Jasmine-jQuery?
我有很多的茉莉花單元測試,運行單元測試的Javascript代碼。 他們正在使用Jasmine-jquery插件來執行DOM操作。 他們使用loadFixture,加載HTML的Javascript JsTestDriver茉莉花和茉莉花的jQuery
我想這些自動化單元測試,使用JsTestDriver的燈具,與JasmineAdapter 但是所有的測試涉及的DOM jQuery的操作是不及格? 這有什麼問題嗎? 有沒有辦法與JsTestDriver一起使用Jasmine-jQuery?
我會回答自己,因爲我找到了這個問題的解決方案。 問題是茉莉-jQuery是使用Ajax加載的HTML夾具,它使用相對路徑,假定HTML夾具位於某處相對於運行茉莉花測試HTML容器。 但因爲JsTestDriver加載中自己的「空間」的測試,所以我們要改變位置,其中茉莉jQuery的尋找那些HTML夾具,使JsTestDriver加載它們。
所以解決辦法如下:
JsTestDriver已加載靜態的html文件的能力。 在配置文件中添加以下內容:
即成: - 例如: 即成: - 燈具*。html的
現在你可以訪問那些具有以下格式 的http:本地主機:9876 /測試/ fixtures/... 你讓Jasmine-jquery知道從這個位置加載燈具。
,瞧,你將有你的測試工作了。
我只想澄清一點的previous posting。
如果您jsTestDriver
配置文件您有:
服務:
spec/fixtures/*_fixture.html
然後,你需要
jasmine.getFixtures().fixturesPath = '/test/spec/fixtures';
重寫你的測試套件,基本上是/test/
+任意路徑你在你的jsTestDriver
配置文件中的服務部分聲明。
我剛剛發佈了一個開源工具包,希望可以幫助其他人儘可能多地幫助我。它是許多開源工具的組成部分,它爲您提供了一個開箱即用的requirejs骨幹應用程序。
它有一個更優雅的解決方案,使用requirejs文本插件和requirejs句柄插件。
它提供單個命令來運行:dev web服務器,jasmine單一瀏覽器測試運行器,jasmine js-test-driver多瀏覽器測試運行器以及JavaScript和CSS的級聯/縮小。它還輸出用於生產調試的應用程序的非最小版本,預編譯您的手柄模板並支持國際化。 無需安裝。它只是工作。
我有我的jar文件在我的文件夾「茉莉花」裏面有我的lib /茉莉核心/ jasmine.js運行。我也有腳本/ test.js和fixtures/text.html。我做過Serve: - fixtures/*。html,但在設置jasmines夾具路徑時,仍然遇到'fixtures'/ fixtures'和其他變體的恐慌錯誤。有任何想法嗎? –
啊我讀了莫妮卡的回答,看到我需要在前面放置/測試。這解決了它。由於我的服務器不在本地主機上,本地主機的例子讓我感到有點失落。 –
這似乎並不適用於JsTestDriver-1.3.4-a.jar,但我在Windows上爲JsTestDriver-1.3.4.b.jar。 – gotofritz