2

「require is not defined」というエラーが常に表示され、NodeJS + Backbone アプリのテスト フレームワークをセットアップする際に問題が発生しました。必要なすべての依存関係を取得し、test.js ファイルを実行するブラウザー内テスト フレームワークを使用して、最終的に機能するようになりました。

現在、バックボーン モデル、ビュー、およびコレクションの基本的なテストのみを行っています。ここで、API テストを追加したいのですが、同じ「require is not defined」エラーに戻ります。これは何が原因ですか?ここで根本的な何かが欠けていることは明らかです。追加したいだけです:

var request = require('supertest')
  , express = require('express');

var app = express();

test.js のスニペット:

describe('Application', function(){
  it("creates a global variable for the namespace", function() {
    should.exist(App);
  })
});


describe('Models', function() {

    describe('SearchFormModel', function() {
        beforeEach(function() {
            this.SearchFormModel = new App.Model.SearchFormModel();
            this.defaultFields = this.SearchFormModel.attributes;
        })

        it("created a SearchFormModel", function() {
            should.exist(this.SearchFormModel);
        })

        it("should have 7 default fields", function() {
            Object.keys(this.SearchFormModel).length.should.equal(7);
        })

        it("should default all fields to empty string", function() {
            for (var key in this.defaultFields) {
                this.defaultFields[key].should.equal("");
            }
        })
    });

});

テストランナー.html:

<!DOCTYPE html>
<html lang="en">
<head>
    <!-- Title &amp; Meta -->
    <title>Frontend tests</title>
    <meta charset="utf-8">

    <!-- Stylesheets -->
    <link rel="stylesheet" href="../node_modules/mocha/mocha.css">
</head>

<body>

    <div id="mocha"></div>

    <!-- Testing Libraries -->
    <script src="../node_modules/mocha/mocha.js"></script>
    <script src="../node_modules/chai/chai.js"></script>
    <script>
        // Use the expect version of chai assertions - http://chaijs.com/api/bdd
        var should = chai.should();

        // Tell mocha we want TDD syntax
        mocha.setup('tdd');
    </script>

    <!-- Libs -->
    <script src="../public/lib/jquery-1.8.2.min.js"></script>
    <script src="../public/lib/underscore-min.js"></script>
    <script src="../public/lib/backbone-min.js"></script>
    <script src="../public/lib/bootstrap.min.js"></script>
    <script src="../public/lib/highcharts.js"></script>
    <script src="../public/lib/bootstrap-datepicker.js"></script>
    <script src="../public/js/modules/exporting.js"></script>

    <!-- Source files -->
    <script src="../public/js/namespace.js"></script>
    <script src="../public/js/jst.js"></script>            
    <script src="../public/js/utils.js"></script>
    <script src="../public/js/models/models.js"></script>
    <script src="../public/js/models/search.js"></script>
    <script src="../public/js/models/plot.js"></script>
    <script src="../public/js/models/search_result.js"></script>
    <script src="../public/js/views/header.js"></script>
    <script src="../public/js/views/plot.js"></script>
    <script src="../public/js/views/list.js"></script>
    <script src="../public/js/views/search.js"></script>
    <script src="../public/js/router.js"></script>   
    <script src="../public/js/app.js"></script>    

    <!-- Test -->
    <script src="test.js"></script>

    <script>
        mocha.run();
    </script>

</body>
</html>
4

1 に答える 1