2016-12-18 6 views
0

私はかなり一般的なシナリオを想定しています.FitNesseを介してWebサービスをテストし、Webサービスの背後にあるデータベースからデータを読み込んで読みたいと思っています。たとえば、次のようにします。FitNesseでは、JavaとFitSharpのテストページ間で変数やデータを共有できますか?

1)レコードをデータベースに直接保存します。

2)作成されたレコードを更新するには、Webサービスを使用します。

3)データベースレコードが正しく更新されていることを確認します。

軟膏の潜在的な飛行は、データベースがSQL Serverであり、ローカルマシン上のSQL Serverのmy(localdb)インスタンスに対して開発していることです。だから、(localdb)に接続できるようにするにはFitNesseが必要です。

RestFixtureは、Webサービスをテストするために、FitNesseのJavaバージョンでのみ動作します。ただし、データベースに接続するためのJavaバージョンのDbFitは、SQL Serverへの接続にMicrosoftのJDBCドライバのみを使用できます。 this Stackoverflow questionによると、MS JDBCドライバは名前付きパイプをサポートしていないため、(localdb)に接続できません。したがって、私はDbFitのFitSharp(.NET)バージョンを使用する必要があります。これは(localdb)でうまく動作します。

ここで問題は、Java RestFixtureとFitSharp DbFitを組み合わせたことです。たとえば、DbFitを使用してデータベースに新しいレコードを作成した場合、作成したレコードのID値を読み取って、その値を使用してWebサービス経由で更新するレコードを識別します。ですから、FitSharp DbFitテストページからJava RestFixtureテストページに変数や情報を渡す必要があります。これは可能ですか?

+0

jTDSはlocaldbへのJDBC接続をサポートしています(http://stackoverflow.com/questions/11345746/connecting-to-sql-server-localdb-using-jdbc)。それはあなたのための選択肢ですか? –

+0

@FriedHoeben:残念ながら。 JavaバージョンのDbFitは、SQL Server用のMicrosoft JDBCドライバのみをサポートしています。 –

答えて

1

私が知っている限り、それはそうではありません。 REST APIは作成と読み取りをサポートしていませんか?これにより、REST(データベースへの直接アクセスは不要で、データベースと同じサーバー上で実行する必要はありません)を介したテスト全体が可能になります。

+0

残念ながら、Web APIはデータベース内のすべてのテーブルの作成と読み取りをサポートしていません。テストに必要な注文や予約を作成するには、データベースに直接挿入できないデスクトップアプリケーションを使用する必要があります。 Auto-Itのようなものを介してデスクトップアプリケーションからオーダーを作成するプロセスを自動化することは可能かもしれませんが、データをデータベースに直接注入するのと比べて非常に複雑です。 –

関連する問題