2015-11-15 4 views
0

Я запускаю проверку узла в Windows с помощью Appveyor и попадаю в проблему только в одной среде: Powershell с узлом 0.10.Почему ошибка Powershell после успешных тестов TAP?

В других версиях Node я получаю такой вывод:

npm test # PowerShell 
#... 

TAP version 13 
# find rc file in third searched dir, with a package.json lacking prop 
ok 1 should be equal 
ok 2 first dir: checked /a/b/c/d/e/f/package.json 
ok 3 first dir: checked /a/b/c/d/e/f/.foorc 
# ... 

1..72 
# tests 72 
# pass 72 

# ok 

npm test 
# ... 

Но в узле 0.10.40, с НПМ 1.4.28, я получаю это:

npm test # PowerShell 
#... 

TAP version 13 
# find rc file in third searched dir, with a package.json lacking prop 
ok 1 should be equal 
ok 2 first dir: checked /a/b/c/d/e/f/package.json 
ok 3 first dir: checked /a/b/c/d/e/f/.foorc 
# ... 

1..72 
# tests 72 
# pass 72 

# ok 

npm : 
At line:1 char:1 
+ npm test # PowerShell 
+ ~~~~~~~~ 
    + CategoryInfo   : NotSpecified: (:String) [], RemoteException 
    + FullyQualifiedErrorId : NativeCommandError 

C:\projects\cosmiconfig\test\a\b\foo.config.js:1 
quire, module, __filename, __dirname) { module.exports = { found: true: false, 
                    ^

Command executed with exception: C:\projects\cosmiconfig\test\a\b\foo.config.js:1 
quire, module, __filename, __dirname) { module.exports = { found: true: false, 
                    ^

Эта строка кода он жалуется на преднамеренную ошибку - часть теста - которая (я считаю) поймана и обработана, и тест должен убедиться, что произошла ошибка.

Почему Узел 0.10 только для Windows (этого не происходит в Unix через Travis) есть ли эта проблема? Что мне нужно сделать, чтобы исправить это?

(Если вам нужны другие детали для устранения пожалуйста, дайте мне знать: я не знаю достаточно о том, что происходит не так, чтобы знать, что делить.)

+1

Ошибка просто говорит, что приложение пишет что-то в своем потоке ошибок. Вы можете выполнить 'cmd/c npm test '2> & 1'', ​​чтобы поток ошибок был перенаправлен в стандартный вывод. – PetSerAl

ответ

0

Похоже, старые версии НПМ написать некоторые вещи, чтобы стандартный вывод, хотя они фактически не выходят из процесса с кодом ошибки. Как сказал @PetSerAl, Powershell будет ошибаться, когда это произойдет, но другие терминалы не будут. Решение, похоже, заключается не в том, чтобы запускать эти тесты в Powershell.

cf. http://help.appveyor.com/discussions/problems/2347-npm-275prefer-global-warning-causes-failure-command-executed-with-exception и https://github.com/npm/npm/issues/8517

 Смежные вопросы

  • Нет связанных вопросов^_^