xunit inlinedata classdata 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()); }
作者:Chuck Lu GitHub |
分类:
XUnit
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2017-11-28 Adding Kentico controls to the Visual Studio toolbox
2015-11-28 git lfs
2015-11-28 使用git对unity3d项目进行版本控制
2015-11-28 从unity3d官网下载教程
2012-11-28 异步Socket的完美代码[使用Async实现]