我已经开始考虑在我的项目中围绕一些业务逻辑添加一些单元测试。
我想测试的第一个方法是服务层中的一个方法,它返回给定节点的子节点列表。
该方法如下所示:
public List<Guid> GetSubGroupNodes(string rootNode)
{
List<Tree> tree = ssdsContext.Trees.ToList();
Tree root = ssdsContext.Trees.Where(x => x.UserId == new Guid(rootNode)).FirstOrDefault();
return GetChildNodeIds(root, tree);
}
private List<Tree> GetChildNodes(Tree rootNode, List<Tree> tree)
{
kids.Add(rootNode);
foreach (Tree t in FindChilden(rootNode, tree))
{
GetChildNodes(t, tree);
}
return kids;
}
我想象这样的测试方法是提供一个假树结构,然后测试提供节点是否返回正确的子节点。
ssdsContext是一个对象上下文。
我已经看到可以为ObjectContext
提取和接口如何模拟ObjectContext或ObjectQuery
我还读到,as Entity Framework是这里的存储库模式和工作单元模式的实现:通用存储库和EF 4.1的要点是什么。
这一切让我有点困惑。。。测试这样的方法以创建存储库层的唯一真正方法是什么?这个方法值得单元测试吗?
将ObjectContext类包装在一个wrapperclass中——为了好玩,我们称它为ContextWrapper——它只公开您需要的内容。然后您可以使用您的方法将this(IContextWrapper)的接口注入到您的类中。包装器可以在没有连接到外部世界的挂钩的情况下进行模拟。正如您所说,树结构很容易创建,也很容易从您的模拟对象中获取。从而使您的测试成为TRUE unittest,而不是一种联调。
在我的项目中,我在进行单元测试时遇到了问题。一个问题是,仅仅进行联调就可以更快地编写,并且还可以测试组件是否真正协同工作。单元测试新颖的“算法”之类的似乎要容易得多。单元测试服务类感觉是错误和无用的。 我使用mockito来模拟spring数据存储库(以及DB访问)。问题是,如果我告诉模拟存储库在方法调用getById时返回实体A,它显然会返回实体A,服务也会返回实体A。是的,该服务做了一些额外的
本文向大家介绍AngularJS 单元测试服务,包括了AngularJS 单元测试服务的使用技巧和注意事项,需要的朋友参考一下 示例 服务编号 考试 跑!
我正在尝试从我的服务层对crud方法进行单元测试,我已经写了正确的代码(我认为),但是AssertTrue给了我与我预期相反的结果。(java.lang.AssertionError:) 我的测试代码如下: 学生服务测试 学生服务 学生服务 学生资源库 调试后,可以看到该学生正在被成功创建,并被添加到列表中。但正如可以看到的那样Student@10172,在学生列表中,将其保存在Student@1
我不熟悉单元测试。参考google之后,我创建了一个测试类来测试我的控制器,如下所示: 我有以下控制器和服务类: 当我调试单元测试时,控制器中的p对象为null。我的状态是200,但不是预期的JSON响应 我错过了什么?
我使用的是Spring Boot 1.5.2.Release,我的服务类注释为 我的单元测试类注释为: