0

モデル プロパティに依存するコントローラーがあります。このコントローラーをテストしてモデルをスタブ化するテストを作成しました。モデルのプロパティ名が変更されるたびにコントローラーのテストを失敗させるにはどうすればよいですか?

次に例を示します。

モデル:

function Model(obj){
  this.id = obj.id; 
  this.name = obj.name;
}

コントローラ:

function Controller( model ){
  this.model = model
};
Controller.prototype.showName = function() { 
  return this.model.name; 
}

コントローラーのテスト:

describe("A controller", function(){

  var controller = new Controller( new Model({id:1, name: "john"}) );

  it ("should show the person name", function(){
    expect(controller.showName).toEqual("john");
  });

});

「name」プロパティが「name2」などの別のものに変更されるたびに、このテストが失敗するようにします。

JavaScriptでそれを行う方法について、誰かが良い提案を得ましたか?

ありがとう、シャイ

4

1 に答える 1

1

モデルが公開されているので、プロパティの存在を確認できます。

expect(controller.name).toBeDefined();

一方、モデルのプロパティの名前が変更され、コントローラーも変更されない場合、このテストはとにかく失敗します。

于 2012-07-16T11:25:02.830 に答える