ASP.NET Zero--單元測試

來源:互聯網
上載者:User

標籤:技術分享   sof   mis   應用程式層   let   pps   pac   string   ext   

單元測試

ASP.NET Zero啟動項目包含單元和整合測試。使用以下工具開發測試:

  • xUnit作為測試架構。
  • Shouldly 作為斷言庫。
  • Microsoft.EntityFrameworkCore.InMemory 的Entity Framework和資料庫。
  • Abp.TestBase簡化基於ABP的應用程式的整合測試。

測試涵蓋 了項目的域(核心)和應用層。開啟測試資源管理員(在VS主菜單中測試\ Windows \ Test Explorer)運行單元測試:

一些單元測試(租戶創作,版本建立等)僅適用於多租戶概念。您可以將AbpZeroTemplateConsts.MultiTenancyEnabled更改為false,以使您的應用程式成為單一租戶。因此,將會跳過與多租戶相關的測試。

這些單元測試將是瞭解代碼的指導。此外,它們可以作為您的應用程式功能編寫自己的單元測試的模型。

所有單元測試類(實際上是整合測試,因為它們整合到ABP,EntityFramework,AutoMapper和其他應用程式層使用的庫)都是從AppTestBase派生出來的。它初始化ABP系統,使用Effort類比資料庫,為每個測試建立初始測試資料和登入到應用程式。它還為所有測試提供了一些有用的常用方法。

這裡,應用中的樣品單元測試:

public class UserAppService_Delete_Tests : UserAppServiceTestBase{    [Fact]    public async Task Should_Delete_User()    {        //Arrange        CreateTestUsers();        var user = await GetUserByUserNameOrNullAsync("artdent");        user.ShouldNotBe(null);        //Act        await UserAppService.DeleteUser(new IdInput<long>(user.Id));        //Assert        user = await GetUserByUserNameOrNullAsync("artdent");        user.IsDeleted.ShouldBe(true);    }}

它建立一些使用者進行測試,然後驗證是否有一個名為“artdent”的使用者。然後調用使用者應用程式服務(正在測試)的DeleteUser方法。最後,檢查使用者是否被刪除。在這裡,User是一個虛刪除實體,所以 如果它被刪除,它的IsDeleted屬性必須為true。

您可以閱讀 本文更好地瞭解單元測試。

發布到IIS

如果要將解決方案發布到IIS,請檢查Microsoft的 文檔。

ASP.NET Zero--單元測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.