2016-10-28 4 views
1

私はtypescriptでノードアプリケーションを書いていますが、nodejsとtypescriptの両方でかなり不慣れです。typescriptプロジェクトにchakramjsを使用するには?

のAPIエンドポイントをテストするのにchakramを使用します。

より一般的な質問はhow to import a library without definitionsですが、答えを適用するはずのやり方はまだ私を逃しています。私の現在の理解のために提供された回答は抽象的すぎるので、私はより具体的な例を挙げたいと思います。

基本的に、私はjavascriptのhealthcheck.js作業を変換する方法がわからない:そのtypescriptですバリアントに

var chakram = require('chakram'), 
    expect = chakram.expect; 

describe("Rest API Healthceck", function() { 
    it('should respond with HTTP STATUS OK NO CONTENT', function() { 
     var response = chakram.get("http://app.local/api/status", {}); 
     expect(response).to.have.status(204); 

     return chakram.wait(); 
    }); 
}); 

を。

anyで作業しようとしましたが、自分で入力する必要はありません。まだです。私は./node_modules/mocha/bin/mocha dist/tests/acceptance/healthcheck.jsによってモカを使用してテストを実行しようとした場合

let it: any; 
let describe: any; 
let chakram: any; 
chakram = require('chakram'); 
const expect = chakram.expect; 

describe("Rest API Healthceck", function() { 
    it('should respond with HTTP STATUS OK NO CONTENT', function() { 
     var response = chakram.get("http://app.local/api/status", {}); 
     expect(response).to.have.status(204); 

     return chakram.wait(); 
    }); 
}); 

それはつまり、それはエラーをスローまだコンパイルん:

TypeError: describe is not a function 

の調査

私はとイム私のhealthcheck.tsファイルを試してみましたさらに問題がmocha and how its types are loadedと関係しているかどうかわかりません。私はまたタイプミングを使用していますが、型指定されたものではなく、別の問題でもあります。

どこが間違っていますか?

答えて

0

私はモカのタイピングを意識しなければならなかったテスト実行にするには:

./node_modules/typings/dist/bin.js install env~mocha --global 

を問題はモカとchakramjsとは無関係なの欠落defintionによるものでした。

それは、その後に実行するためには、私のtypescriptですのテストケースは、次のようになります。

let chakram: any; 
chakram = require('chakram'); 
const expect = chakram.expect; 

describe("Rest API Healthceck", function() { 
    it('should respond with HTTP STATUS OK NO CONTENT', function() { 
     var response = chakram.get("http://app.local/api/status", {}); 
     expect(response).to.have.status(204); 

     return chakram.wait(); 
    }); 
}); 
関連する問題