Bagikan melalui


DeploymentItem Metadata

Metadata DeploymentItem mengidentifikasi dependensi file dan folder untuk file dan folder yang digunakan oleh pengujian selama eksekusi pengujian sehingga Taef dapat mengidentifikasinya dan menyalinnya dengan tepat (misalnya, dalam skenario eksekusi lintas komputer, Taef akan menyebarkan file yang diidentifikasi oleh properti DeploymentItem ke mesin uji yang ditentukan).

Implementasi Taef DeploymentItem sangat mirip dengan yang ditemukan di Kelas DeploymentItemAttribute di VSTS.

Metadata DeploymentItem dapat diterapkan pada tingkat perakitan, kelas, atau pengujian. Item yang ditentukan oleh metadata DeploymentItem akan disebarkan oleh pengaturan waktu koresponden (perakitan, kelas pengujian, atau pengujian). Jika metadata DeploymentItem menentukan dependensi (misalnya, file) dan dependensi tersebut sudah ada di tujuan, TAEF melakukan perbandingan CRC dan hanya menyalin file jika telah berubah. Jika metadata DeploymentItem menentukan dependensi dan dependensi tidak dapat ditemukan, kesalahan dicatat yang akan gagal dalam pengujian (atau semua kelas pengujian atau pengujian perakitan, yang sesuai). TAEF hanya akan menyebarkan file sekali per perakitan, kelas, atau pengujian - yaitu, penyebaran tidak terjadi di setiap perakitan, kelas, atau ekspansi pengujian jika ini didorong data.

Sintaks

[DeploymentItem("FileOrFolderToDeploy", "DestinationFolder")]

di mana FileOrFolderToDeployadalah file atau jalur folder yang relatif terhadap direktori tempat dll pengujian berada. Jika FileOrFolderToDeploy adalah folder, semua kontennya akan disalin; namun, folder itu sendiri tidak dibuat. Jika ada hierarki folder di bawah FileOrFolderToDeploy, Taef akan menyalin semua direktori ini secara rekursif, mempertahankan hierarki direktorinya.

DestinationFolder adalah jalur folder yang relatif terhadap direktori tempat dll pengujian berada dan tempat item penyebaran disalin. Jalur DestinationFolder dapat ditentukan menggunakan .. notasi (misalnya, .. \MyFiles).

Untuk menyebarkan ke folder tempat dll pengujian Anda berada, Anda dapat menghilangkan DestinationFolder.

[DeploymentItem("FileOrFolderToDeploy")]

Beberapa bagian properti didukung. Contohnya:

[TestClass]
[DeploymentItem("file1.xml")]
[DeploymentItem("file2.xml")]
[DeploymentItem("file3.xml")]
public class UnitTest1
{
    ...
}

Contoh

[DeploymentItem("file1.xml")]  

Tag file1.xml yang terletak di samping dll pengujian sebagai dependensi. Metadata ini dapat ditafsirkan sebagai bahwa sistem menyebarkan item bernama file1.xml yang terletak di folder di samping dll pengujian ke direktori dll pengujian. Konfigurasi ini hanya berguna untuk skenario lintas komputer.

[DeploymentItem("file2.xml", "DataFiles")]

Menyebarkan item bernama file2.xml yang terletak di samping dll pengujian ke subdirektori DataFiles yang dibuat di direktori dll pengujian.

[DeploymentItem("C:\\\\MyDataFiles\\\\MyDataFiles2\\\\")]  

Menyebarkan semua item dan direktori yang ditemukan dalam direktori C:\\MyDataFiles\\MyDataFiles2\\. Konfigurasi ini tidak membuat direktori MyDataFiles\MyDataFiles2 di bawah direktori penyebaran. Semua file dan direktori dalam MyDataFiles akan disebarkan untuk menguji direktori dll. Untuk menyalin seluruh struktur direktori MyDataFiles\MyDataFiles2, Anda harus menentukan MyDataFiles\MyDataFiles2 sebagai direktori output.

[DeploymentItem("%myDir%\\myFile.txt")]

Menyebarkan file myFile.txt jika file tersebut ada di direktori yang diselesaikan %myDir%. Jika TAEF tidak dapat menyelesaikan variabel lingkungan, taEF akan melemparkan kesalahan.

Pengujian Terkelola

Atribut DeploymentItem (alias DeploymentItemAttribute) dapat diterapkan ke metode pengujian (dihiasi oleh atribut [TestMethod]), kelas pengujian (dihiasi oleh atribut [TestClass]) atau rakitan pengujian. Namun, karena VSTS tidak mendukung properti ini pada tingkat perakitan, untuk menerapkan properti ini pada tingkat perakitan, Anda harus menerapkannya ke penyiapan perakitan (dihiasi oleh atribut AssemblyInitialize):

[AssemblyInitialize]
[DeploymentItem("file1.xml")]
[DeploymentItem("file2.xml")]
[DeploymentItem("file3.xml")]
public  static AssemblySetup(TestContext testContext)
{
    ...
}

Tes Asli

Untuk pengujian asli, format properti mirip dengan format kode terkelola. Namun, karena properti asli hanya memiliki satu nilai, jalur item dan tujuan opsional ditentukan dalam nilai properti, dipisahkan dengan karakter ''>:

BEGIN_TEST_CLASS(TestClassExample)
    TEST_CLASS_PROPERTY(L"DeploymentItem", L"C:\\Dependencies\\>Dependencies")
END_TEST_CLASS()

Tes Skrip

Untuk pengujian skrip, format properti sama dengan untuk pengujian asli:

<method name="TestOne">
    <TestMethodProperty name="DeploymentItem" value="C:\\Dependencies\\>Dependencies"/>
</method>