install https://github.com/ariya/phantomjs phantomjs затем вы можете запустить следующий скрипт после запуска как приложения sproutcre, так и приложения rails
var allTestsURL = "http://localhost:4020/webedge/en/current/tests.html";
var i, j;
var x = 0, y = 0;
var page = new WebPage();
page.open(allTestsURL, function (status) {
if (status !== 'success') {
console.log('Unable to access network');
}
window.setInterval(function() {
var str = "";
y++;
var st = page.evaluate(function () {
str = "";
if(document.body.querySelector("span.status span.passed")){
str += "passed: true";
console.log("str: " + str);
}
if (document.body.querySelector("span.status span.failed")){
str += ";failed: true";
console.log("str: " + str);
}
console.log("returning " + str);
return str;
});
console.log("status returned is " + st);
if (st == "passed: true") {
console.log("it all passes! ");
phantom.exit(0);
} else if(st.indexOf("failed") > 0){
console.log("tests have failed");
phantom.exit(1);
}
if(y > 25) {
console.log("exiting with error as not yet resolved");
phantom.exit(1);
}
}, 2000);
});
Примечание: версия sproutcore - 1.6.0.1, и пройденные тесты отображаются в селекторе span.passed, а неудачные тесты, если таковые имеются, в селекторе span.failed. Я не подсчитал неудачные тесты; этот скрипт просто обнаруживает, если естьявляются ошибками или нет. Это не полностью надежно, но это служит моей цели. Нет тайм-аута или чего-то еще, может быть, это следует добавить. Но мы можем основываться на нем.
скрипт на sproutcorephantomjs был исследован, но у меня не получилось. Есть идеи почему?