加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 通用类/方法的单元测试方法

发布时间:2020-12-15 06:57:20 所属栏目:百科 来源:网络整理
导读:什么是推荐的方法来掩盖通用类/方法的单元测试? 例如(参考下面我的示例代码).是否有两到三倍的测试来覆盖使用几种不同类型的TKey,TNode类来测试方法?还是只有一堂课? public class TopologyBaseTKey,TNode,TRelationship where TNode : NodeBaseTKey,new(
什么是推荐的方法来掩盖通用类/方法的单元测试?

例如(参考下面我的示例代码).是否有两到三倍的测试来覆盖使用几种不同类型的TKey,TNode类来测试方法?还是只有一堂课?

public class TopologyBase<TKey,TNode,TRelationship> 
    where TNode : NodeBase<TKey>,new() 
    where TRelationship : RelationshipBase<TKey>,new()

{
    // Properties
    public Dictionary<TKey,NodeBase<TKey>> Nodes { get; private set; }
    public List<RelationshipBase<TKey>> Relationships { get; private set; }

    // Constructors
    protected TopologyBase()
    {
        Nodes = new Dictionary<TKey,NodeBase<TKey>>();
        Relationships = new List<RelationshipBase<TKey>>();
    }

    // Methods
    public TNode CreateNode(TKey key)
    {
        var node = new TNode {Key = key};
        Nodes.Add(node.Key,node);
        return node;
    }

    public void CreateRelationship(NodeBase<TKey> parent,NodeBase<TKey> child) {
    .
    .
    .

解决方法

我通常创建一个DummyClass作为测试目的,作为通用参数传递(在你的情况下你应该创建3类),我测试一个类(TopologyBase)一次.

使用不同的通用类型进行测试是没有意义的,因为通用类型不应该破坏ToopologyBase类.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读