2017-02-14 4 views
0

私は非常にテストに新しく、私はここに正しい道にいるかどうか疑問に思っていました。MochaでNode.jsのルートで配信されているページをテストする

基本的に私のサーバーが特定のルートで特定のindex.ejsファイルを提供することを確認したいと思います。ここに私の2つのブロックがあります。

it('should respond with status 200',function(done){ 

    request.get(url+'/polls',function(error,response,body){ 
     expect(response.statusCode).to.equal(200); 
     done(); 
    }); 

}); 


it('should render the polls.ejs file',function(done){ 

    request.get(url + '/polls',function(error,response,body){ 
     expect(body).to.equal('index.ejs') 
     done(); 
    }); 

}); 

まずテストに合格し、それがなっているもので解析されたHTMLファイルとは対照的に、それは文字列"index.ejs"を期待しているので、第二の試験は明らかにしません。

テストに合格するには、HTMLコンテンツ全体を文字列として書き込むよりも良い方法が必要です。より良い方法を教えてください。また、私はここでのテストで適切な道を歩いていますか?

答えて

0

私はあなたが実際にそのようなことをテストすべきだとは思わない。

あなたはウェブページを提供する他の人に頼っているので、それをテストするのは彼の仕事です。あなたは自分のロジックをそこでテストするだけです。

例えば、ルートが/add?a=12&b=15であり、このルートが出力されるのは27である場合、追加を行っているコードの部分である必要があります。クライアントの要求を管理している部分ではありません。

私は間違っているかもしれませんが(この場合、私はこの答えを更新するように更新します)、それは自分のウェブサイトの単体テストを処理する方法であり、かなりうまくいきます。

+0

これは論理的に聞こえる、私はまた疑問に思っていた。私はfsを使用してこれを行うことができることを認識しましたが、私はあなたがそれを支配しないのでどちらかが必要だとは思いません。また27ではなく37;) – JohnSnow

+0

ええ、ありがとう。私は非常に良い数学スキルを持っています。 – Telokis

関連する問題