我们正在使用requirejs将我们的Web应用程序编译为单个uglified js文件。
有时包含缺少定义,因此在启动期间代码以错误的顺序执行,应用程序抛出异常并停止。
我正在寻找一种工具,以便我可以在CI环境中对此进行基本测试。
PhantomJS看起来像是一个可能的赢家,但我还没有能够得到一些工作。
答案 0 :(得分:0)
哦,是的,PhantomJS就是答案,只是没有以正确的方式去做:)享受。
var fs = require( 'fs' );
var system = require( 'system' );
if( system.args.length === 2 ) {
console.log( 'Missing script arguments...' );
phantom.exit( 10 );
}
var server = require( 'webserver' ).create();
var service = server.listen( 8080, function( request, response ) {
response.statusCode = 200;
if( request.url == "/script" ) {
response.setHeader( 'Content-Type', 'text/javascript' );
try {
response.write( fs.read( system.args[1] ) );
} catch( e ) {
console.log( e );
phantom.exit(2);
}
} else {
response.write( '<html><script type="text/javascript" src="/script"></script><body>Tjoff!</body></html>' );
}
response.close();
});
var page = require( 'webpage' ).create();
page.onError = function( msg, trace ) {
console.log( 'ERROR: ' + msg );
phantom.exit(1);
};
page.open( 'http://localhost:8080', function( status ) {
setTimeout( function() {
phantom.exit();
}, 2500 );
});