2017-10-12 1 views
0

내가 만들 내 TFS에서 NPM 테스트를 실행하기 위해 노력하고있어,하지만 난은 ENOENT 오류가 매번 얻을 :tfs 빌드에서`npm test`를 실행하는 동안 ENOENT 에러를 방지하려면 어떻게합니까?

C:\Program Files\nodejs\npm.cmd run test

npm ERR! path E:\Agents\agent_work\38\package.json

npm ERR! code ENOENT

npm ERR! errno -4058

npm ERR! syscall open

npm ERR! enoent ENOENT: no such file or directory, open 'E:\Agents\agent_work\38\package.json'

npm ERR! enoent This is related to npm not being able to find a file.

가 내 빌드를 설정하는 this tutorial of Microsoft을 따라 나는 것을 읽을 수 있기 때문에 나는 또한, npm cache clean 포함 설치 중에 문제가있을 수 있습니다.

내가 npm test를 실행

은 로컬 다음은

내 설정 파일입니다 잘 작동합니다.

module.exports = function (config) { 
    var testWebpackConfig = require('./webpack.test.js'); 
    config.set({ 

    basePath: '.', 
    frameworks: ['jasmine'], 

    plugins: [ 
     require('karma-jasmine'), 
     require('karma-phantomjs-launcher'), 
     require('karma-webpack'), 
     require('karma-sourcemap-loader'), 
     require('karma-jasmine-html-reporter'), 
     require('karma-junit-reporter') 
    ], 

    // list of files/patterns to load in the browser 
    files: [ 
     { pattern: 'spec.bundle.js', watched: false } 
    ], 

    preprocessors: { 
     'spec.bundle.js': ['webpack', 'sourcemap'] 
    }, 

    // webpack 
    webpack: testWebpackConfig, 

    reporters: ['progress', 'kjhtml', 'junit'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['PhantomJS'], 
    singleRun: false, 
    concurrency: Infinity, 
    junitReport: { 
     outputDir: '', 
     outputFile: 'test.xml' 
    } 
    }) 
} 

이것은 spec.bundle.js :

이 karma.config.js입니다

import 'core-js'; 
import 'zone.js/dist/zone'; 
import 'zone.js/dist/long-stack-trace-zone'; 
import 'zone.js/dist/proxy.js'; 
import 'zone.js/dist/sync-test'; 
import 'zone.js/dist/jasmine-patch'; 
import 'zone.js/dist/async-test'; 
import 'zone.js/dist/fake-async-test'; 

import { getTestBed } from '@angular/core/testing'; 
import { 
    BrowserDynamicTestingModule, 
    platformBrowserDynamicTesting 
} from '@angular/platform-browser-dynamic/testing'; 

import 'rxjs'; 

getTestBed().initTestEnvironment(
    BrowserDynamicTestingModule, 
    platformBrowserDynamicTesting() 
); 

var testContext = require.context('./src', true, /\.spec\.ts/); 

function requireAll(requireContext) { 
    return requireContext.keys().map(requireContext); 
} 

var modules = requireAll(testContext); 

답변

1

오류 메시지가 NPM 테스트 명령은 "package.json"를 찾을 수없는 것으로 나타났다 파일. 빌드 프로세스 중에 package.json 파일이 소스 컨트롤에 업로드되고 다운로드되었는지 확인하고 빌드 정의에서 npm 태스크에 대한 package.json 파일 (package.json이있는 작업 폴더)에 대한 올바른 경로를 구성했습니다.

+0

카르마 설정이 들어있는 폴더를 대상으로하지 않았습니다. 해당 폴더를 대상으로 설정 한 후 작업했습니다. – Friso