我有一个angular2组件,它依赖于许多提供程序。根据我到目前为止所读到的,为了模拟提供者,我有两个选项
为每个提供程序编写一个模拟服务。
使用间谍并仅模拟组件调用的方法。
如果选择1,则必须编写大量虚拟代码,这是对空间的浪费。如果我写了选项2,那么我需要对每个提供者有复杂的了解,然后只编写模拟方法。我想要做的是在所有提供程序中自动模拟所有方法,然后只在需要时才编写间谍(自定义模拟逻辑)。我该怎么做?
例如,如何自动模拟以下服务
public class ActualService(){
public getUsers(){
//Actual call
}
我读到了关于TDD的文章,想知道是否可以编写任何模拟对象,而不需要使用额外的测试库,比如easyMock或类似的东西。
例如,我有代码:
class Person
{
int age;
int add ( int x) { return this.age + x }
}
如何编写模拟对象来测试上述代码?
我正在尝试为class的函数编写一个Jasmine测试,它实例化并观察来自另一个类的对象。由于我希望将此测试包含在第一个类中,并模拟第二个类的不同场景,因此我想模拟第二个类。一些伪代码可能会有所帮助 export class Foo {
startProcessing() {
const bar = new Bar();
const sub = bar.tickTock.subscribe(
state => {
// something went right
我对Mockito非常陌生,我有一个类似这样的课程 public class A {
private B b;
public B getB() { return b; }
// ...
} 和 public class B {
private C c;
public C getC() { return c; }
// ...
} 我正在使用Mockito为类A编写单元测试,并试图实现以下行为,其中B是模拟的: when(a.getB().getC()).thenReturn(mock(C.class))
when(any(mock(C.class)).do
我正在尝试为那些将sp对象作为参数的方法编写一个单元测试,比如SPWeb或SPEventReceiverCollection等,但不知道如何模拟这些方法。我以前使用过moq,但似乎找不到如何模拟微软的假货。例如:
public List<SPEventReceiverDefinition> CheckExisting(SPEventReceiverDefinitionCollection recs)
我用Java编写了大约20个方法,它们都调用了一些web服务。这些web服务目前都没有。为了进行服务器端的编码,我对web服务的预期结果进行了硬编码。
我们可以对这些方法进行单元测试吗?据我所知,单元测试正在模拟输入值,并查看程序如何响应。模拟输入值和输出值是否有意义?
编辑:
这里的答案表明我应该编写单元测试用例。
现在,我如何在不修改现有代码的情况下编写它?
考虑以下示例代码(假设代码):
public int getAge()
{
Service s = locate("ageservice"); // line 1
我有一个班级和成员:
class A
{
B obj;
public:
int f(int i){return obj.g(i);}
}
这里,B obj是一个依赖项,需要从文件中创建运行时。在A类的单元测试中,我希望模拟B obj,并使用g类型的int(int)函数。
如何编写测试代码,模拟B obj,然后测试A::f。
非常感谢。
我需要测试一个扩展抽象类并使用它的受保护方法的类。代码如下:
public class DataDaoImpl extends SuperDao<CustomClass>
{
public List<Long> findAllbyId(Long productId)
{
Session session = getCurrentSession();
.......
//Rest of code
}
}
下面是抽象类的代码:
public abstract class SuperDao<T>
{
p
public class A{
private final B b;
public void meth() {
//Some code
Integer a = b.some_method(a,fun(b));
//Some code
}
private fun(int b) {
return b;
}
}
when(b.some_method(anyInt(),anyInt())).thenReturn(100)
如何在为类A编写单元测试时模拟外部依赖关系。当我以上述方式模拟依赖关系时,"a“的值没有像预期的
我有一个这样的类结构:
class A {
public someFunction() {
$objectB = new B();
$result = $objectB->getResult();
return $result;
}
}
我正在为属于A类的someFunction()编写单元测试。但是,它依赖于类B。我可以模拟someFunction(),但是我如何解决对B类的依赖呢?我想自动模拟类B。
我最近开始在我的测试中使用模拟对象,但我仍然对它们缺乏经验,并且不确定在某些情况下如何使用它们。目前,我正在为如何模拟方法间的依赖关系而苦苦挣扎(调用方法A会对方法B的结果产生影响),以及它是否应该被模拟(从使用模拟框架的意义上讲)?
以Java迭代器为例?模拟next()调用以返回正确的值很容易,但是如何模拟hasNext()取决于调用了多少次next()?目前我使用的是List.Iterator,因为我找不到合适的方法来模拟它。
Martin Fowler在mock和stub之间的区别在这里起作用了吗?我应该编写自己的IteratorMock吗?
另请考虑下面的示例。要测试的方法调用moc
我对Java的开发环境很陌生,我想了解如何使用EasyMock在Java中为这种方法编写UT。
public class MyClass{
public ClassB classBObj;
public int myMethod(SomeClass someClassObj){
ClassA objA = new ClassA();
objA.addParam(classBObj);
ClassC classCObj = objA.getClassCObj(classBObj);
return someClassObj.getResul
我有一个试图为其编写包装器的OLE COM对象,我决定开始使用TDD为它编写代码,因为我相信它会给我更好的方向感。COM对象有一个类似如下的接口:
Interface Mapinfo
Sub [Do](ByVal cmd As String)
Function Eval(ByVal cmd As String) As String
End Interface
Do命令需要类似于以下内容
Mapinfo.Do("OpenTable("""C:\Temp\MyTable.TAB""")")
现在,我正在尝试编写一个包装