カスタムデータソースリーダーを使用する
Tricentis データ整合性では、サポートされていないデータソースを扱うことができます。ご自身のカスタムデータソースリーダーをデータ整合性に統合すると、以下のテストを実行することができます:
前提条件
カスタムデータソースリーダーを作成し、データ整合性で使用するには、以下の要件を満たす必要があります:
-
カスタマイズをNetStandard 2.0 に基づいて行い、Windowsの実行とLinuxの実行のどちらでも機能するようにします。
-
以下を参照してください: Tricentis.DataIntegrity.GenericDataSource.dll
Windowsの場合、このDLLは %TRICENTIS_DI_HOME% ディレクトリにあります。
Linuxの場合、 Tosca Data Integrity Agent ディレクトリのカスタムデータリーダーにあります。
-
以下のサンプルコードに示されているように、 Interface ICustomDataReader を実装します。
-
DLLファイルとすべての可能な依存関係をカスタムデータリーダーフォルダにコピー&ペーストする必要があります。
カスタムデータソースリーダーを統合する
カスタムデータソースリーダーをデータ整合性に統合するためには、以下の手順に従ってください:
-
C:\Program Files(x86)\Tricentis\Tosca Testsuite\データ Integrity に移動します。
-
DLLファイルと依存関係をコピーして、カスタムデータレーダーフォルダにペーストします。
-
テストを実行するために使用する方に応じて、 Tosca Data Integrity Executor または Tosca Data Integrity Agent のいずれかを閉じて再起動してください。
カスタムデータリーダーフォルダにファイルを追加するときは、必ず一度終了して再起動する必要があります。
-
お客様のカスタムデータソースに接続するために、テストステップのカスタムデータリーダーテストステップ値を入力してください。この操作の詳細については、以下の章を参照してください:
データ整合性エグゼキュータが読み込むDLLを確認する
データ整合性エグゼキュータは、カスタムデータソースかターゲットを使用するテストケースの行ごとの比較を初めて実行するときにDLLファイルを読み込みます。エグゼキュータログには、実行時に読み込まれたDLLファイルが表示されます。このオプションを有効にするには、以下の手順に従います:
-
データ整合性エグゼキュータを開いてください。
-
ツール->オプションをクリックします。
-
次のオプションダイアログで、「デバッグメッセージを表示」を選択してください。
カスタムデータソースリーダーのサンプルコード
次のサンプル コードは、CSVファイルのソースとターゲットに行ごとの比較を実行できる、CSVファイルのカスタムデータソースリーダーを記述しています。
サンプルコードを独自のカスタム データ リーダーのテンプレートとして使用したい場合は、こちらからコピーできます。
using System;
using System.Collections.Generic;
using System.IO;
using Tricentis.DataIntegrity.GenericDataSource;
namespace CustomReaderExtension
{
[DataSourceReader("CustomCSVReader")]
public class CustomCSVReaderExample : ICustomDataReader {
public IDictionary<string, string> parameters;
public StreamReader fileStream;
public void Initialize(IDictionary<string, string> parameters) {
this.parameters = parameters;
}
public void Connect() {
fileStream = new StreamReader(parameters["FilePath"]);
}
public string[] GetColumnNames() {
return ReadLine();
}
public string[] GetNextRow() {
return ReadLine();
}
public bool HasMoreRows() {
return !fileStream.EndOfStream;
}
public void Cancel() {
//Not implemented, filereader will only be closed.
}
public void Disconnect() {
fileStream.Close();
}
public string[] ReadLine() {
return fileStream.ReadLine().Split(',');
}
}
}
サンプルコードには、行ごとの比較を機能させるために、カスタムデータソースリーダーに含める必要があるいくつかの関数が含まれています。最も重要な行を見てみましょう。
-
クラス属性名には、アプリケーションの名前が入ります。クラス属性名のテストステップの値にこの名前を追加すると、データ整合性は、異なるカスタム実装を区別するためにこの名前を使用します。
-
Initialize メソッドによって、アプリケーションはキーと値のペアを受け取り、テストステップから得た情報をローカルに保存することができます。例えば、キーは FilePath 、値は実際のファイルパス D:˶TestFile.csv となります。
-
Connect メソッドにより、アプリケーションは接続を作成できます。例えば、特定のファイルを開き、そのファイルへの参照をローカルに保存します。
-
Cancel メソッドは、読み取り操作をキャンセルしなければならない場合にアプリケーションが停止しないように保証します。