CSS визуальное тестирование с использованием BackdropJS - не удалось запустить grunt:reference или grunt:test
Я пытался перейти по этой ссылке учебника по настройке backstop.js
https://joe-watkins.io/css-visual-regression-testing-with-grunt-backstopjs/
Я следовал всем инструкциям по мере необходимости.
Но я сталкиваюсь с этой ошибкой на экране.
andy.cmwong@ONLM4800GR8LN32 /c/backstop_test
$ grunt backstop:reference
Running "backstop:reference" (backstop) task
[12:16:30] Using gulpfile c:\backstop_test\bower_components\backstopjs\gulpfile.js
[12:16:30] Starting 'clean'...
bitmaps_reference was cleaned.
[12:16:30] Starting 'bless'...
[12:16:30] Finished 'clean' after 9.82 ms
[12:16:30] Finished 'bless' after 15 ms
[12:16:30] Starting 'reference'...
[12:16:30] Starting 'init'...
[12:16:30] Finished 'init' after 73 μs
[12:16:30] Starting 'test'...
Generating reference files.
[12:16:30] Finished 'test' after 4.03 ms
reference has run.
[12:16:30] Finished 'reference' after 5.24 ms
Testing script failed with code: 1
Looks like an error occured. You may want to try running `$ gulp echo`. This will echo the requested test URL output to the console. You can check this output to verify that the file requested is inde
ed being received in the expected format.
cp: cannot stat `./bitmaps_reference': No such file or directory
ERROR: Error: Command failed: C:\Windows\system32\cmd.exe /s /c "cp -rf ./bitmaps_reference c:\backstop_test\tests"
cp: cannot stat `./bitmaps_reference': No such file or directory
Ранее произошла дополнительная ошибка, которая гласит gulp.run()
устарел, поэтому он предложил мне использовать другой модуль npm для последовательного выполнения задач, что привело меня к этому.
https://www.npmjs.com/package/run-sequence
И мне удалось решить это так
//under bower_components/gulp/tasks/reference.js
var gulp = require('gulp');
var runSequence = require('run-sequence').use(gulp);
//FIRST CLEAN REFERENCE DIR. THEN TEST
gulp.task('reference', ['clean','bless'], function() {
//gulp.run('test');
runSequence('test');
console.log('reference has run.');
});
Оно работает.
Тем не менее, я все еще не могу завершить выполнение задач grunt / gulp, поэтому я действительно застрял с этим.
Мне интересно, кто-нибудь пробовал перейти по приведенной выше ссылке на учебник и сумел заставить работать backstopjs?
Ваш вклад в это очень ценится.
ОБНОВИТЬ
Я забыл показать вам, как выглядит моя конфигурация grunt.
........................
grunt.initConfig({
backstop: {
setup: {
options : {
backstop_path: './bower_components/backstopjs',
test_path: './tests',
setup: false,
configure: true
}
},
test: {
options : {
backstop_path: './bower_components/backstopjs',
test_path: './tests',
create_references: false,
run_tests: true
}
},
reference: {
options : {
backstop_path: '/bower_components/backstopjs',
test_path: './tests',
create_references: true,
run_tests: false
}
}
}
});
......................etc
Мой файл backstop.json
{
"viewports": [
{
"name": "phone",
"width": 320,
"height": 480
},
{
"name": "tablet_v",
"width": 568,
"height": 1024
},
{
"name": "tablet_h",
"width": 1024,
"height": 768
}
],
"scenarios": [
{
"label": "http://getbootstrap.com",
"url": "http://getbootstrap.com",
"hideSelectors": [],
"removeSelectors": [
"#carbonads-container"
],
"selectors": [
"header",
"main",
"body .bs-docs-featurette:nth-of-type(1)",
"body .bs-docs-featurette:nth-of-type(2)",
"footer",
"body"
],
"readyEvent": null,
"delay": 500,
"misMatchThreshold" : 0.1
}
]
}
1 ответ
Мне удалось заставить его работать прошлой ночью, когда я сел на свой Linux-блок (сборка VMWare), повторил настройку backstopjs и успешно выполнил несколько тестовых прогонов.
У меня действительно было первоначальное подозрение, что это была моя среда Windows OS, которая не была настроена должным образом, поэтому мне, возможно, придется переустановить npm / node / backstop и т. Д., И решить ее оттуда.
Все хорошо сейчас.