小编Ron*_*ngu的帖子

用同一种方法模拟两个不同的结果

我有两种操作方法,编辑和删除(都发布)。这些方法从数据库接口调用方法。这些接口方法在一个名为DBManager. 在这些方法中,用户被编辑并返回一个布尔结果,delete 方法也是如此,返回的结果将是 true 或 false,这取决于删除或编辑是否成功。

现在我想模拟两个结果(真和假),这是我设置模拟的代码:

//setup passed test
_moqDB.Setup(md => md.EditStaff(It.IsAny<StaffEditViewModel>())).Returns(true);

//setup failed test
_moqDB.Setup(md => md.EditStaff(It.IsAny<StaffEditViewModel>())).Returns(false);

//Setup Delete method test
_moqDB.Setup(x => x.DeleteStaffMember(It.IsAny<int>())).Returns(true);

//delete failed
_moqDB.Setup(x => x.DeleteStaffMember(It.IsAny<int>())).Returns(false);`
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码

 [TestMethod]
    public void PostUpdatedUserTest()
    {
        var staffEdit = new StaffEditViewModel()
        {
            BranchID = "HQ",
            SiteID = "TestingSite",
            StaffEmail = "Zandile.Mashele@avisbudget.co.za",
            StaffID = 887,
            StaffNameF = "TestUser",
            StaffNameS = "TestSurname",
            StaffPassword = "****",
            StaffSecurity = UserRoles.Administrator
        };

        //Act
        var result = _userController.Edit(staffEdit);

        //Assert
        Assert.IsNotNull(result);
        Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));
        var …
Run Code Online (Sandbox Code Playgroud)

c# unit-testing moq mocking

5
推荐指数
1
解决办法
5740
查看次数

Mat-accordion 不是已知元素

我正在开发一个 angular10 应用程序,我尝试在我的项目中使用 mat-accordion,每个组件使用模块(每个组件都有自己的 module.ts 文件),下面是我的模块文件代码

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { CaseCardComponent } from '../casecard/casecard.component';
import { MatExpansionModule } from '@angular/material/expansion';
import {MatCardModule} from '@angular/material/card';





 @NgModule({
      declarations: [CaseCardComponent],
      imports: [
        CommonModule,
        MatExpansionModule,
        MatCardModule
      ]
    })
    export class CasecardModule { }
Run Code Online (Sandbox Code Playgroud)

然后下面是抛出错误“Mat-accordion 不是已知元素”的行(这位于 html 文件中)

<mat-accordion>
    
</mat-accordion>
Run Code Online (Sandbox Code Playgroud)

但有趣的是,MatCardModule 中的标签似乎工作得很好(用它作为测试只是为了看看模块本身是否有问题),这就是我在这里做错的事情

注意:按照许多其他人的建议导入 MatCardExpansion 模块并没有真正帮助我

angular-material angular

4
推荐指数
1
解决办法
9155
查看次数

选择 SQL Server 数据库中的最后一条记录并不总是有效

有一个声明表,当用户创建声明时,它会被插入到该表中,每个声明都应该有自己唯一的NaturalOrderID分配给它,它NaturalOrderID是由系统生成的,这是代码的第一部分,这是方法获取最大数字,这是稍后用于新的唯一数字的最后一个数字NaturalOrderID

 private int GetLastNaturalClaimNo(string finYear)
 {
        int maxNo = 0;
        string query = string.Empty;

        query = @"SELECT MAX(CAST(SubString(NaturalOrderId, 4,50) AS int)) FROM Claim
WHERE NaturalOrderId LIKE '" + finYear + "/%' AND (CAST(SubString(NaturalOrderId, 4,50) AS int) BETWEEN 10000 AND 500000) ";

        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["RAC_DARAConnectionString"].ConnectionString))
        {
            SqlCommand cmd = new SqlCommand(query, conn);// ***OLD Query**
            conn.Open();

            object result = cmd.ExecuteScalar();

            // If no claim of this sort is found, then we are starting a …
Run Code Online (Sandbox Code Playgroud)

c# sql sql-server

2
推荐指数
1
解决办法
134
查看次数

标签 统计

c# ×2

angular ×1

angular-material ×1

mocking ×1

moq ×1

sql ×1

sql-server ×1

unit-testing ×1