zoukankan      html  css  js  c++  java
  • xunit inlinedata classdata memberdata

    https://andrewlock.net/creating-parameterised-tests-in-xunit-with-inlinedata-classdata-and-memberdata/

    MemberData

    public class CalculatorTests
    {
        [Theory]
        [MemberData(nameof(Data), MemberType= typeof(CalculatorData))]
        public void CanAddTheoryMemberDataMethod(int value1, int value2, int expected)
        {
            var calculator = new Calculator();
    
            var result = calculator.Add(value1, value2);
    
            Assert.Equal(expected, result);
        }
    }
    
    public class CalculatorData
    {
        public static IEnumerable<object[]> Data =>
            new List<object[]>
            {
                new object[] { 1, 2, 3 },
                new object[] { -4, -6, -10 },
                new object[] { -2, 2, 0 },
                new object[] { int.MinValue, -1, int.MaxValue },
            };
    }
    public class VersionList
        {
            private static Dictionary<string, Version> dic;
    
            static VersionList()
            {
                dic = new Dictionary<string, Version>();
                dic.Add("05000007", new Version(5, 0, 0, 7));
                dic.Add("05000800", new Version(5, 0, 8, 0));
                dic.Add("05000900", new Version(5, 0, 9, 0));
            }
    
            public static IEnumerable<object[]> GetVersion(string key)
            {
                if (!dic.ContainsKey(key))
                {
                    throw new Exception($"Can not find key {key} from VersionList.");
                }
    
                var list = new List<object[]>
                {
                    new object[] {dic[key]},
                };
    
                return list;
            }
        }

    让测试类继承VersionList

            [Theory]
            [MemberData(nameof(GetVersion), parameters: "05000007")]
            [MemberData(nameof(GetVersion), parameters: "05000800")]
            [MemberData(nameof(GetVersion), parameters: "05000900")]
            public void CmsUpgradeTest(Version tempVersion)
            {
                Output.WriteLine(tempVersion.ToString());
            
            }
  • 相关阅读:
    UnityShader
    Unity
    Tools
    linux下解压命令
    进程 同步、互斥
    I/O模型
    jclass jobject
    javah javap
    IDA 结构体
    Windows CSRSS API List (NT/2000/XP/2003/Vista/2008/7/2012/8)
  • 原文地址:https://www.cnblogs.com/chucklu/p/10030894.html
Copyright © 2011-2022 走看看