小编Phi*_*ler的帖子

如何使用jmockit注入模拟的依赖项

目前,我试图了解@Injectable@Tested注释是如何工作的.我已经做了一些测试并理解了这个概念,但我没有得到如何在现实世界的应用程序中使用这些注释.

假设我们正在开发一个依赖于Web服务的语言翻译器类.Web服务方法封装在一个单独的类中:

// class to test
public class Translator() {
    private TranslatorWebService webService;

    public String translateEnglishToGerman(String word){
        webService = new TranslatorWebService();
        return webService.performTranslation(word);
    }
}

// dependency
public class TranslatorWebService {
    public String performTranslation(String word){
    // perform API calls    
    return "German Translation";
    }
}
Run Code Online (Sandbox Code Playgroud)

为了Translator独立测试该类,我们想模拟TranslatorWebService该类.根据我的理解,测试类应该如下:

public class TranslatorTest {
    @Tested private Translator tested;
    @Injectable private TranslatorWebService transWebServiceDependency;

    @Test public void translateEnglishToGerman() {
        new Expectations() {{
            transWebServiceDependency.performTranslation("House");
            result = "Haus";
        }};

        System.out.println(tested.translateEnglishToGerman("House"));
    } …
Run Code Online (Sandbox Code Playgroud)

java jmockit mocking

7
推荐指数
1
解决办法
8148
查看次数

Dockerfile:带有特殊参数的RUN命令

我想在Dockerfile中运行带有$ _等特殊参数的bash命令.我尝试了以下示例,但它似乎无法正常工作.如果我直接在bash中执行相同的命令,它就像魅力一样.有谁知道我做错了什么?

$ RUN mkdir /foo && cd $_ && pwd
Run Code Online (Sandbox Code Playgroud)

docker dockerfile

1
推荐指数
1
解决办法
596
查看次数

标签 统计

docker ×1

dockerfile ×1

java ×1

jmockit ×1

mocking ×1