ASP.NET Zero--单元测试

单元测试

ASP.NET Zero启动项目包含单元集成测试。使用以下工具开发测试:

测试涵盖 了项目的(核心)和应用层。打开测试资源管理器(在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的 文档

posted @ 2017-05-07 14:00  liyongke  阅读(503)  评论(0编辑  收藏  举报