c# – 自动测试属性getter / setter
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 自动测试属性getter / setter,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1170字,纯文字阅读大概需要2分钟。
内容图文
我们对域对象的许多属性使用支持字段,例如:
protected string _firstname;
public virtual string Firstname
{
get { return _firstname; }
set { _firstname = value; }
}
我偶尔会像下面的例子那样制作愚蠢的拼写错误,并希望编写一个验证所有这些属性的测试,而不是手动对每个对象进行测试.
public virtual string Firstname
{
get { return _firstname; }
set { _firstname = Firstname; }
}
是否容易编写或者是否已经存在库以测试这些支持字段是否正确获取/设置?这只会在具有setter的属性上运行,并且(可能)是使用camel-case下划线匹配属性名称的后备字段
解决方法:
另一种解决方案是使用自动属性来消除此问题:
public virtual string FirstName { get; set; }
更新(见评论,支持字段似乎需要):
另一种可能性是产生pocos.简单的t4模板’Person.tt’
<#@ template language="C#" #>
<# var pocos = new [] {
Tuple.Create("FirstName", "string"),
Tuple.Create("LastName", "string"),
Tuple.Create("Age", "int")}; #>
public partial class Person {
<# foreach(var t in pocos) {#>
protected <#= t.Item2#> _<#= t.Item1.ToLowerInvariant()#>;
public virtual <#= t.Item2#> <#= t.Item1#>
{
get { return _<#= t.Item1.ToLowerInvariant()#>; }
set { _<#= t.Item1.ToLowerInvariant()#> = value; }
}
<#}#>
}
现在这当然可以带来它解决的许多问题,但它可能值得一看…也许:)
内容总结
以上是互联网集市为您收集整理的c# – 自动测试属性getter / setter全部内容,希望文章能够帮你解决c# – 自动测试属性getter / setter所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。