0

テストフレームワークを作成しようとしていますが、XMLファイルで提供されるテストケース名とデータを保存するために何を使用するのが最適かわかりません。たとえば、コンストラクターがあり、プリンター接続を開き、プリンターにデータを送信し、プリンター接続を閉じるように、プリンターの機能をテストしたいと思います。したがって、XMLは次のようになります。

<Printer>
  <TestCaseName>"Printer_Construct"</TestCaseName>
    <Data1>"Printer1"</Data1>

  <TestCaseName>"Printer_OpenConnection"</TestCaseName>
    <Data1>"Printer1"</Data1>

  <TestCaseName>"Printer_PrintString"</TestCaseName>
    <Data1>"Printer1"</Data1>
    <Data2>"Printing my string"</Data2>

  <TestCaseName>"Printer_CloseConnection"</TestCaseName>
    <Data1>"Printer1"</Data1>
</Printer>

これが私のテストフレームワークがどのように機能したかったかです:

1-テストオペレータがテストフレームワークを実行すると、最初にすべてのケース名がリストボックス1にのみロードされます。テストケースデータはまだ読み込まれません。

2-テストオペレーターが実行する特定のテストケースを選択すると、そのテストケースがlistbox2にロードされます。したがって、テストケースをlistbox2にロードすると、テストケース名とテストデータ(上記のxml構造体に示されているdata1とdata2)が表示されます。

3-これで、リストボックス2のテストケースは、テストオペレーターが[実行]ボタンをクリックするたびにテストできるようになりました。

では、どうすればテストケースデータを保存できますか?これらのデータをメモリに保存する必要がありますか?もしそうなら、どのデータ保存機能を使用する必要がありますか?これらのデータをメモリに保存しない場合、テストケースデータにアクセスするたびにXMLを読み取る必要があることを意味するので、それを行うのは良い習慣ですか?

ありがとう。

4

2 に答える 2

3

テストケースをXMLで定義する場合は、XMLスキーマ定義ファイルでその構造を定義し、ツールを使用してそのファイルからメモリ内データ構造とデシリアライザー(自動リーダー)を生成することでメリットが得られる場合があり.xsdます。このツールはC#、プログラムに含めることができるファイルを提供します。この表現を操作するのがいかに簡単であるかに驚くでしょう。

ただし、始める前に、XML構造はこの非常に単純な最初のケースで機能する可能性がありますが、あまり保守できないようです。「データ」ノードがそれらの前にある「テストケース」ノードに論理的に属している場合は、次のようにXML構造でも同じである必要があります。

<Printer>
    <TestCaseName Name="Printer_Construct">
        <Data1>"Printer1"</Data1>
    </TestCaseName>

    <TestCaseName Name="Printer_PrintString">
        <Data1>"Printer1"</Data1>
        <Data2>"Printing my string"</Data2>
    </TestCaseName>
</Printer>
于 2012-06-10T21:57:17.600 に答える
1

この種の情報をどこに保存するかは、インターフェイスが何であるかに大きく依存します。

Windowsアプリケーション(コンソールまたはwinforms)の場合、最初に必要になったときにメモリに保存して、引き続き検索することができます。

一方、それがWebインターフェースである場合は、組み込みの.netWebキャッシングを強くお勧めします。これは非常に効率的で、ファイルを変更するたびにファイルをリロードし、それ以外の場合は永続化できるなど、キャッシュの有効期限に対する強力なオプションがあります。

于 2012-06-10T22:01:50.180 に答える