Nunit: Tidak dapat memuat file atau rakitan 'nunit.framework'

Dibuat pada 14 Feb 2018  ·  12Komentar  ·  Sumber: nunit/nunit

Halo, saya membuat proyek baru dengan dotnet nunit dan saya menerima kesalahan ini ketika saya mencoba dan menjalankan tes saya melalui Unit.ConsoleRunner.3.8.0 .

Dotnet SDK versi 2.1.4

Repositori contoh menunjukkan kesalahan: https://github.com/VictorioBerra/nunit3-errors

Jalankan ./build.ps1 untuk mengeksekusi file kue. Setelah Anda melakukannya, itu akan mengunduh Unit.ConsoleRunner.3.8.0 dari NuGet. Jadi setelah Anda menjalankannya atau mengunduh paket nuget, Anda dapat melewati bisnis kue dan jalankan saja ini di PowerShell jika Anda suka:

.\tools\NUnit.ConsoleRunner.3.8.0\tools\nunit3-console.exe .\tests\Demo.Tests\bin\Release\netcoreapp2.0\Demo.Tests.dll

question

Komentar yang paling membantu

Saya setuju bahwa sayang sekali kami belum memiliki NUnit.Console yang berfungsi penuh di .NET Core 2.0. Setelah saya menyelesaikan PR saya saat ini, saya menuju ke sana jika tidak ada yang mengalahkan saya untuk itu.

Semua 12 komentar

Ini karena, tidak seperti proyek .NET Framework, proyek .NET Core tidak memiliki dependensi seperti nunit.framework.dll yang disalin ke folder bin\{configuration}\{tfm} saat dibuat. Anda perlu menjalankan dotnet publish . Untuk Cake, itu DotNetCorePublish atau lihat apa yang dilakukan NUnit . Kemudian Anda menjalankan tes pada rakitan di bin\{configuration}\{tfm}\publish yang memang berisi dependensi.

dotnet test melakukan semua penerbitan ini untuk Anda sebelum meneruskan jalur \publish ke dotnet vstest .
Baik dotnet vstest dan NUnit Console beroperasi pada rakitan, bukan proyek, dan oleh karena itu mengharuskan Anda untuk memublikasikan terlebih dahulu seperti yang Anda lakukan jika Anda menulis pengujian yang dijalankan sendiri.

Ahhhhhhh ini benar-benar mencerahkan dan membantu terima kasih banyak. Jika Anda melihat contoh di kue, mereka dengan jelas menunjukkan navigasi ke direktori bin untuk menjalankan tes: https://cakebuild.net/api/Cake.Common.Tools.NUnit/NUnit3Aliases/5A473496

Semoga siapa pun yang menabrak ini akan melihat ini dan menghemat waktu.

Sebelum saya pergi terlalu cepat: NUnit.ConsoleRunner belum berjalan di .NET Core. NUnitLite melakukannya, meskipun ini adalah cara termudah untuk menjalankan tes NUnit: https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard

Contoh: https://github.com/jnm2/ApiContractGenerator/blob/aa3c085fdb9c978b252b630187325d6eeb504235/build.cake#L21 -L25

@jnm2 apakah contoh Anda menghasilkan hasil tes? Dari wiki yang Anda posting:

pengujian dotnet saat ini tidak mendukung penerusan opsi baris perintah ke adaptor pengujian, jadi NUnit belum dapat menghasilkan TestResults.xml.

Ini adalah keadaan terakhir kali saya melihat:

https://github.com/jnm2/Cake.SqlServer/blob/ed6093e268114ef640851414e64aabec49d284e8/build.cake#L114 -L134

try
{
    DotNetCoreTest("src/Tests/Tests.csproj", new DotNetCoreTestSettings
    {
        Configuration = configuration,
        NoBuild = true,
        Logger = "trx",
        ArgumentCustomization = a => a.AppendSwitchQuoted("--results-directory", tempDirectory)
    });
}
finally
{
    if (parameters.IsRunningOnAppVeyor)
    {
        // dotnet test cannot do more than one target framework per TRX file
        // AppVeyor seems to ignore all but the first TRX upload– perhaps because the test names are identical
        // https://github.com/Microsoft/vstest/issues/880#issuecomment-341912021
        foreach (var testResultsFile in GetFiles(tempDirectory + "/**/*.trx"))
            AppVeyor.UploadTestResults(testResultsFile, AppVeyorTestResultsType.MSTest);
    }
}

Saya setuju bahwa sayang sekali kami belum memiliki NUnit.Console yang berfungsi penuh di .NET Core 2.0. Setelah saya menyelesaikan PR saya saat ini, saya menuju ke sana jika tidak ada yang mengalahkan saya untuk itu.

Hai, ada pembaruan tentang ini?

https://github.com/nunit/nunit-console/issues/475 adalah utas yang harus diikuti.

@orihomie Ini adalah masalah tertutup. Kami Anda berniat untuk bertanya tentang yang berbeda?

@CharliePoole Tidak, saya baru saja menemui masalah ini pada rencana pembangunan saya ketika mencoba meluncurkan .netcore tes oleh *\NUnit.Console-3.6.1\nunit3-console.exe dan mendapat pengecualian yang membawa saya ke sini

@orihomie Anda belum dapat menggunakan konsol untuk .NET Core, tetapi Anda dapat menggunakan dotnet test .

https://github.com/nunit/docs/wiki/.NET-Core-and-.NET-Standard
https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-nunit

@orihomie Untuk

Apakah halaman ini membantu?
0 / 5 - 0 peringkat