gpt4 book ai didi

javascript - 使用 JsTestDriver 的 basePath 指定从哪里加载夹具数据

转载 作者:行者123 更新时间:2023-11-30 05:53:56 35 4
gpt4 key购买 nike

我正在尝试将 HTML 夹具数据加载到 JsTestDriver 测试环境中。当 jsTestDriver.conf 文件位于我的工作目录的顶层时,我可以让它工作,但如果我把它放在一个子目录中并尝试使用 ,我就无法让它工作>basePath JsTestDriver 的特性。有没有人让这个工作?如果是这样,我做错了什么?

首先是有效的目录结构:

├── fixtures
│   └── fix.html
├── jsTestDriver.conf
├── lib
│   └── JsTestDriver-1.3.5.jar
├── server.sh
├── test
│   └── dom.fixture.test.js
└── test.sh

jsTestDriver.conf 看起来像这样:

server: http://localhost:9876

# files in the server section are only added if explicitly asked for
serve:
- fixtures/fix.html

test:
- test/dom.fixture.test.js

timeout: 10

server.sh 和 test.sh 分别调用服务器和测试运行器:

服务器.sh:

PORT=9876
java -jar lib/JsTestDriver-1.3.5.jar --captureConsole --port $PORT --browser "/usr/bin/firefox;%s,/opt/google/chrome/google-chrome;%s;--allow-file-access-from-files"

测试.sh

java -jar lib/JsTestDriver-1.3.5.jar --tests all --captureConsole

然后我像这样在 dom.fixture.test.js 代码中加载夹具:

function getFixtureContent() {
var url = '/test/fixtures/fix.html';

var request = new XMLHttpRequest();
request.open('GET', url, false); // synchronous!
request.send(null);

return request.responseText;
}

这成功返回了 fix.html 中的 html,然后我必须将其加载到 DOM 中。

但是当我将 jsTestDriver.conf 文件推送到一个 conf 目录时,如果不使用绝对路径 (/test//$ HOME/javascript/jstd/fixtures/fix.html),尽管尝试了许多变化。默认情况下,JSTD 假定 Jetty 的 /test 根目录与您放置 jsTestDriver.conf 文件的位置相关。据推测,设置 basePath 应该允许您更改它。

这是一个失败的尝试:

目录结构相同,除了 jsTestDriver.conf 在 conf 目录中:

├── conf
│   └── jsTestDriver.conf

jsTestDriver.conf中的路径全部调整为下一个目录:

server: http://localhost:9876

# files in the server section are only added if explicitly asked for
serve:
- ../fixtures/fix.html

test:
- ../test/dom.fixture.test.js

timeout: 10

server.sh 和 test.sh 还有两个额外的命令行开关:

--basePath .. --config conf/jsTestDriver.conf

其余同理。

错误是:

<h2>HTTP ERROR 404</h2>
<p>Problem accessing /test/fixtures/fix.html. Reason:
<pre>NOT_FOUND</pre></p><hr /><i><small>Powered by Jetty://</small></i><br/>

我已经在 1.3.5 和 1.3.4.b 版本上试过了。同样的结果。感谢任何可以帮助解开这个谜团的人。

最佳答案

我建议尝试使用 1.3.3d 版 - 由于 bug in relative path calculation,我们不得不继续使用此版本该版本已修复,但似乎已作为 1.3.4 的回归重新引入,并且仍然是 1.3.5 的问题。

关于javascript - 使用 JsTestDriver 的 basePath 指定从哪里加载夹具数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104542/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com