Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 31285|Jawab: 3

[Sumber] .net/c# menggunakan pengujian satuan xunit

[Salin tautan]
Diposting pada 22/01/2019 14.58.26 | | | |
Saat ini di. Alat pengujian di bawah kerangka kerja Net terutama mencakup Nunit, MSTest bawaan, dan Xunit, dan artikel ini akan memperkenalkan secara singkat cara menggunakan XUnit, bintang yang sedang naik daun di VS.

Runtime minimum yang didukung oleh xunit adalah . BERSIH 4.5.2, yang sebagian besar lebih tinggi. Bahkan jika Anda dapat membangun perpustakaan kelas 4.0, itu akan tetap berfungsi setidaknya pada .NET 4.5.2. Tautan terperinci:https://github.com/xunit/xunit/issues/1817


Pertama, saya membuat proyek konsol .NET 4.5.2 baru dengan nama: itsvse-test, dan xunit versi terbaru adalah: 2.4.1, jadi perintah nugetnya adalah sebagai berikut:

Setiap paket dilisensikan kepada Anda oleh pemiliknya. NuGet tidak bertanggung jawab atas paket pihak ketiga dan tidak melisensikan paket tersebut. Beberapa paket mungkin menyertakan dependensi yang tunduk pada lisensi lain. Klik URL sumber paket (sumber) untuk menentukan dependensi apa pun.

Host konsol Manajer Paket versi 4.7.0.5212

Ketik "get-help NuGet" untuk melihat semua perintah NuGet yang tersedia.

PM> Instal-Paket xunit -Versi 2.4.1


Upaya sedang dilakukan untuk mengumpulkan dan menargetkan ". NETFramework, Version=v4.5.2" dari proyek "itsvse-test" tentang paket "xunit.2.4.1"
Dibutuhkan 2,1 detik untuk mengumpulkan informasi dependensi
Mencoba menyelesaikan dependensi paket "xunit.2.4.1" dengan DependencyBehavior sebagai "Terendah"
Mengurai informasi dependensi membutuhkan waktu 0 ms
Operasi penguraian untuk menginstal paket "xunit.2.4.1"
Operasi yang diselesaikan untuk menginstal paket "xunit.2.4.1"
Ambil paket "xunit 2.4.1" dari "cnblogs"
Ambil paket "xunit.abstractions 2.0.3" dari "cnblogs"
Ambil paket "xunit.analyzers 0.10.0" dari "cnblogs"
Ambil paket "xunit.assert 2.4.1" dari "cnblogs"
Ambil paket "xunit.core 2.4.1" dari "cnblogs"
Ambil paket "xunit.extensibility.core 2.4.1" dari "cnblogs"
Ambil paket "xunit.extensibility.execution 2.4.1" dari "cnblogs"
  DAPATKANhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg
  DAPATKANhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg
  DAPATKANhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg
  DAPATKANhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg
  DAPATKANhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg
  DAPATKANhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg
  DAPATKANhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg
  OKEhttps://api.nuget.org/v3-flatcon ... actions.2.0.3.nupkg116 milietik
  OKEhttps://api.nuget.org/v3-flatcon ... 1/xunit.2.4.1.nupkg117 milietik
Menginstal xunit.abstractions 2.0.3.
Menginstal xunit 2.4.1.
  OKEhttps://api.nuget.org/v3-flatcon ... it.core.2.4.1.nupkg151 milietik
Menginstal xunit.core 2.4.1.
  OKEhttps://api.nuget.org/v3-flatcon ... .assert.2.4.1.nupkg167 milietik
Menginstal xunit.assert 2.4.1.
  OKEhttps://api.nuget.org/v3-flatcon ... ty.core.2.4.1.nupkg221 milietik
Menginstal xunit.extensibility.core 2.4.1.
  OKEhttps://api.nuget.org/v3-flatcon ... lyzers.0.10.0.nupkg200 milietik
Menginstal xunit.analyzers 0.10.0.
  OKEhttps://api.nuget.org/v3-flatcon ... ecution.2.4.1.nupkg306 milietik
Menginstal xunit.extensibility.execution 2.4.1.
Menambahkan paket "xunit.abstractions.2.0.3" ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.abstractions.2.0.3" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Menambahkan paket "xunit.abstractions.2.0.3" ke "packages.config"
Berhasil menginstal "xunit.abstractions 2.0.3" ke itsvse-test
Menambahkan paket toolet saja "xunit.analyzers.0.10.0" ke "itsvse-test"
Menambahkan paket "xunit.analyzers.0.10.0" ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.analyzers.0.10.0" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Menambahkan paket "xunit.analyzers.0.10.0" ke "packages.config"
File skrip "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages\xunit.analyzers.0.10.0\tools\install.ps1"
"xunit.analyzers 0.10.0" telah berhasil diinstal ke itsvse-test
Menambahkan paket "xunit.assert.2.4.1" ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.assert.2.4.1" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Menambahkan paket "xunit.assert.2.4.1" ke "packages.config"
"xunit.assert 2.4.1" telah berhasil diinstal ke itsvse-test
Menambahkan paket "xunit.extensibility.core.2.4.1" ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.extensibility.core.2.4.1" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Menambahkan paket "xunit.extensibility.core.2.4.1" ke "packages.config"
"xunit.extensibility.core 2.4.1" telah berhasil diinstal ke itsvse-test
Menambahkan paket "xunit.extensibility.execution.2.4.1" ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.extensibility.execution.2.4.1" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Menambahkan paket "xunit.extensibility.execution.2.4.1" ke "packages.config"
"xunit.extensibility.execution 2.4.1" telah berhasil diinstal ke itsvse-test
Menambahkan paket "xunit.core.2.4.1" ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.core.2.4.1" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Menambahkan paket "xunit.core.2.4.1" ke "packages.config"
"xunit.core 2.4.1" telah berhasil diinstal ke itsvse-test
Menambahkan paket "xunit.2.4.1" dengan hanya dependensi untuk memproyeksikan "itsvse-test".
Paket "xunit.2.4.1" sedang ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.2.4.1" telah ditambahkan ke folder "C:\Users\itsvse_pc\Source\Repos\itsvse-test\packages"
Paket "xunit.2.4.1" telah ditambahkan ke "packages.config"
"xunit 2.4.1" telah berhasil diinstal ke itsvse-test
Nuget membutuhkan waktu 5,51 detik untuk mengeksekusi
Waktu Berlalu: 00:00:07.7781544
PM>
Instal paket plug-in: xunit.runner.console (dihilangkan dalam artikel ini) dan xunit.runner.visualstudio

di mana xUnit adalah kerangka kerja,Dan xunit.runner.visualstudio adalah paket plugin VS, sehingga kita dapat dengan mudah men-debug di VS.Menginstal xunit.runner.console juga dapat di-debug di bawah CMDTetapi jika saja ini didukung, saya yakin tidak banyak orang yang akan menggunakan kerangka kerja ini, lagipula, cara mengetik perintah secara serius menurunkan nilai Visual Studio, jadi saya tidak akan menjelaskannya di sini.

Di sini, kami hanya menginstal paket plugin xunit.runner.visualstudio, klik kanan pada proyek di Solution Explorer dan pilih Kelola Paket NuGet. Cari (dan instal) paket bernama xunit.runner.visualstudio:



Pastikan browser pengujian terlihat (buka jendela > pengujian > Test Explorer). Setiap kali proyek dibangun, pelari menemukan pengujian unit dalam proyek. Setelah periode penemuan, Anda akan melihat daftar pengujian yang ditemukan:



Edit file Program dan ubah kode berikut:

Klik tautan di jendela Jalankan Semua dan Anda akan melihat pembaruan hasil di jendela Test Explorer saat Anda menjalankan pengujian:



Anda dapat mengklik pengujian yang gagal untuk melihat pesan kegagalan dan pelacakan tumpukan. Anda dapat mengklik baris pelacakan tumpukan untuk langsung pergi ke baris kode yang gagal.

(Akhir)





Mantan:Sleep Your Sister Alarm Clock v4.6.1 Professional Berbayar Premium Versi Cina
Depan:Catatan Studi C# Hari Ini
 Tuan tanah| Diposting pada 22/01/2019 15.19.24 |
Xunit tidak perlu menandai kelas pengujian

xUnit mendukung properti [Fakta] dan [Teori]. Seperti yang Anda lihat dari kode, [Fakta] mirip dengan kode panggilan aktual yang kita tulis, sedangkan [Theory] dengan InlineData dapat menguji beberapa set parameter secara langsung dalam satu metode.

 Tuan tanah| Diposting pada 22/01/2019 15.31.55 |
Pengujian anomali

Xunit tidak menandai tangkapan pengecualian melalui Atribut, tetapi secara langsung menggunakan fungsi pernyataan Assert.Throws untuk memvalidasi pengecualian.

    kelas publik TestClass1
    {
        [Fakta]
        publik void testException()
        {
            Assert.Throws<InvalidOperationException>(() => operasi());
        }

        operasi kosong()
        {
            melempar InvalidOperationException();
        }
    }



Mengubah nama kasus pengujian:

     [Fakta(Nama Tampilan = "Uji Fungsi Maks")]



Lewati kasus pengujian:

     [fact(skip="pemfaktoran ulang tidak lengkap")]



Pengelompokan:

     [Sifat("Grup", "Kategori")]
 Tuan tanah| Diposting pada 22/01/2019 15.37.28 |
Dalam banyak kasus, kami tidak ingin pengujian unit memengaruhi konten dalam database, dan terkadang pengujian unit kami akan sangat lambat karena dampak database, jadi kami sering ingin mengisolasi bagian persistensi, dan tidak benar-benar mempertahankan data saat melakukan pengujian unit. Isolasi semacam ini Kami umumnya menggunakan abstraksi, yaitu menggunakan antarmuka atau kelas abstrak untuk mengisolasi lapisan persistensi, dan kemudian menggunakan tiruan untuk mensimulasikan antarmuka atau kelas abstrak yang sesuai untuk menyelesaikan kelas persistensi yang sesuai. MoQ adalah salah satu kerangka kerja Mock ini, MoQ menggunakan C# 3.0, yang lebih mudah digunakan daripada NMock, dan ini adalah cara yang diketik dengan kuat, dan kode sumber dan dll dapat dijangkauLogin hyperlink terlihat.Unduh. Rilis terbaru MoQ sekarang adalah versi 3.1, dan 4.0 masih dalam versi beta.
https://www.cnblogs.com/catcher1994/p/5498530.html
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com