ASP.NET MVC アプリケーションの別のアセンブリで requirejs と jasmine を使用することについて、このブログをフォローしようとしていました。
これは私の SpecRunner.html です:
<link rel="shortcut icon" type="image/png" href="lib/jasmine-1.3.1/jasmine_favicon.png">
<link rel="stylesheet" type="text/css" href="lib/jasmine-1.3.1/jasmine.css">
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine.js"></script>
<script type="text/javascript" src="lib/jasmine-1.3.1/jasmine-html.js"></script>
<script type="text/javascript" src="../Beryllium.Web/Scripts/require.js"></script>
<!-- include source files here... -->
<!-- include spec files here... -->
<script type="text/javascript">
require.config({
baseUrl: '../Beryllium.Web/App/ViewModels',
paths: {
spec: '../../Beryllium.Web.UnitTests/spec'
}
})
</script>
<script type="text/javascript">
require(['spec/PlayerSpec', 'spec/SpecHelper'], function() {
var jasmineEnv = jasmine.getEnv();
jasmineEnv.updateInterval = 1000;
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
execJasmine();
};
function execJasmine() {
jasmineEnv.execute();
}
});
</script>
Beryllium.Web は MVC アプリケーションで、Beryllium.Web.UnitTests は私のテスト アセンブリです。
SpecRunner ファイルをロードすると、ページに 2 つのエラーが表示されます。
GET file:///D:/code/Beryllium/Beryllium.Web/Beryllium.Web.UnitTests/spec/PlayerSpec.js require.js:1880
Uncaught Error: Script error for: spec/PlayerSpec
http://requirejs.org/docs/errors.html#scripterror
SpecHelper.js の同じエラー
私の PlayerSpec.js は次のように始まります。
define(['Player', 'Song'], function(Player, Song) {
describe("Player", function() {
var player;
var song;
beforeEach(function() {
player = new Player();
song = new Song();
});
このエラーの原因を正確に突き止める方法はありますか? SpecRunner ファイルをロードすると、ページが空白になり、コンソールを開いたときにのみこのエラーが表示されます。