【发布时间】:2019-07-09 08:16:23
【问题描述】:
我有一些庞大的类,不想将它们全部写出来进行测试,因为这是一项巨大的工作,而且我可能会忘记一些导致测试无效的值。
Messages = new List<Request.Notif.NotifRuleMessages>
{
new Request.Notif.NotifRuleMessages
{
Code = 1234,
Message = new List<Request.Notif.NotifRuleMessagesMessage>
{
new Request.Notif.NotifMessagesMessage
{
Status = new Request.Notif.NotifMessagesMessageStatus
{
Code = 1,
Bool = true,
Test1 = "Test",
Test2 = "Test"
},
Rules = new List<Request.Notif.NotifMessagesMessageRule>
{
new Request.Notif.NotifMessagesMessageRule
{
Lengths = new Request.Notif.NotifMessagesMessageRuleLength
{
Lenght = 1,
Lengths = new List<Request.Notif.NotifMessagesMessageRuleLengthLength>
{
new Request.Notif.NotifMessagesMessageRuleLengthLength
{
Type = "Test",
Value = 1
}
}
},
Status = new List<Request.Notif.NotifMessagesMessageRuleStatus>
{
new Request.Notif.NotifMessagesMessageRuleStatus
{
Test1 = "Test",
Test2 = "Test"
有没有办法自动用1 或0 填充所有int 值,用Test 自动填充所有string 值,尤其是所有objects 使用正确的类无需单元测试和外部库?
【问题讨论】:
-
您为什么认为会存在一些发生应用您认为可以接受的默认值?
-
@Damien_The_Unbeliever 因为
{ get; set; }也存在,这对于纯编码来说是不必要的,只是帮助开发人员:) 并且可能有一些东西可以初始化整个类(带有子类) -
我认为最好的办法是使用反射实现自己的解决方案。我怀疑那里有一个标准的解决方案。需要注意的一件事是您的结构是否是递归的。
-
@Xerillio 我无法想象有反射的解决方案,你能给我举个例子吗?不,不涉及递归。
标签: c# class testing automation