• 断言与单元测试


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    //路径:C:WindowsMicrosoft.NETassemblyGAC_MSILMicrosoft.VisualStudio.QualityTools.UnitTestFrameworkv4.0_10.0.0.0__b03f5f7f11d50a3a
    //文件:Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
    namespace Chap2_4
    {
    class Program
    {
    static void Main(string[] args)
    {
    ProductCollectionTests pct = new ProductCollectionTests();
    pct.ProductCollection_DistributeProduct_Test();
    Console.ReadKey();
    }
    }
    #region 代码逻辑
    public class ProductCollection
    {
    public List<Product> Products { get; set; }
    //根据传递进来的ids集合确定到底需要配送那些商品
    public List<Product> DistributeProduct(List<int> ids)
    {
    var result = from item in Products where ids.Contains(item.PId) select item;
    DistributeNotice notice = new DistributeNotice();
    notice.ToNotice("配送商品");
    return result.ToList();
    }
    }
    public class Product
    {
    public string PName { get; set; }
    public int PId { get; set; }
    }
    //发送配送信息
    public class DistributeNotice
    {
    public void ToNotice(string mes)
    {
    Console.WriteLine(mes);
    }
    }
    #endregion
    #region 单元测试代码
    public class ProductCollectionTests
    {
    public void ProductCollection_DistributeProduct_Test()
    {
    ProductCollection testsObject = new ProductCollection();
    testsObject.Products = new List<Product>()
    {
    new Product(){PId=1,PName="1"},
    new Product(){PId=2,PName="2"},
    new Product(){PId=3,PName="3"}
    };
    var testResult=testsObject.DistributeProduct(new List<int>(){1,2});
    //断言;如果DistributeProduct方法被改动,那么下面的代码就会报异常
    Assert.AreEqual(testResult.Count,2);
    Assert.AreEqual(testResult[0].PId, 1);
    Assert.AreEqual(testResult[1].PId, 2);
    }
    }
    #endregion
    }

  • 相关阅读:
    js如何将字符串作为函数名调用函数
    js如何生成[n,m]的随机数
    UIMenuController,UIPasteboard:复制,粘贴详细解释
    python2.7和 python3.4但是不要
    Android IPC通信和AIDL技术应用
    可穿戴式智能设备,其潜在的安全问题?(上)
    CentOS安装KVM步骤虚拟机,绝对实用!
    Python于*args 和**kwargs使用
    uva 1556
    JSCover+WebDriver/Selenium获得JS 代码覆盖
  • 原文地址:https://www.cnblogs.com/sulong/p/4919924.html
Copyright © 2020-2023  润新知