标签: service-virtualization

Stubs/Mocks与服务虚拟化..?哎呀

我目前正在调查难以进入的领域的单元测试(这是一个非常高级的观点,我知道)并且我遇到了这个问题:存根/模拟或服务虚拟化?

我正在阅读以寻求答案,但我能找到的唯一资源似乎来自SV供应商(他们显然有偏见).

当一个人比另一个人更合适时,有人能想到这些例子,为什么?如果答案是"它取决于",那么请建议为什么/什么.似乎可以通过任何一种方式获得相同的结果 - 这是时间问题(开发)或可用资金(GreenHat等并不便宜!).

提前致谢!

编辑:

检查下面发布的其中一个链接(1)后,我认为这就是我所得到的:

"虚拟服务只是你可以自己创建的测试存根.

虽然您可以编写自己的存根,但是一旦您通过非常简单的行为,在整个软件开发生命周期中模拟您依赖的所有系统的工作量和成本就会变得非常大.服务虚拟化要求自动化,因为模拟和建模可以通过软件的直接观察来进行,而不需要手动编码和调整.否则,您可能会花费尽可能多的时间来维护存根环境,就像构建和测试应用程序功能本身一样."

那么基本上和任何工具一样,是吗?

(1)http://servicevirtualization.com/top-10

unit-testing mocking stub service-virtualization

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

com.github.tomakehurst.wiremock.client.VerificationException:预计至少有一个请求匹配

我想为API创建一个Stub,并希望验证服务器返回的API调用和响应.因为我已经实现了WireMock示例:

import org.junit.Rule;
import org.junit.Test;

import com.github.tomakehurst.wiremock.junit.WireMockRule;

public class MockTestDemo {

    private static final int WIREMOCK_PORT = 8080;

    @Rule
    public WireMockRule wireMockRule = new WireMockRule(WIREMOCK_PORT);

    @Test
    public void exampleTest() {

    stubFor(get(urlEqualTo("/login")).withHeader("Accept", equalTo("application/json"))
            .willReturn(aResponse().withStatus(200).withBody("Login Success")
                    .withStatusMessage("Everything was just fine!"))
            .willReturn(okJson("{ \"message\": \"Hello\" }")));

       verify(getRequestedFor(urlPathEqualTo("http://localhost:8080/login")) 
            .withHeader("Content-Type",equalTo("application/json")));       }

}
Run Code Online (Sandbox Code Playgroud)

但是低于错误:

com.github.tomakehurst.wiremock.client.VerificationException: Expected at least one request matching: {
  "urlPath" : "localhosturl/login",

   "method" : "GET",

  "headers" : {
    "Content-Type" : {
      "equalTo" : "application/json"
    }
  }
}

Requests received: [ ]
  at …
Run Code Online (Sandbox Code Playgroud)

java junit mocking wiremock service-virtualization

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

线程“main”中的异常 java.lang.NoClassDefFoundError: org/mockito/Mockito

我是新手,Mockito并试图从这里学习,我已经完成了教程中提到的所有配置(使用 Win-10)。

在环境变量中设置:

在此处输入图片说明

Mockito 版本:

<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-all</artifactId>
    <version>2.0.2-beta</version>
    <scope>test</scope>
</dependency>
Run Code Online (Sandbox Code Playgroud)

我已经从同一个提到的例子开始了。但是当我运行测试我的类它显示以下异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/mockito/Mockito
  at com.mockitotest.PortfolioTester.setUp(PortfolioTester.java:23)
  at com.mockitotest.PortfolioTester.main(PortfolioTester.java:14)
Caused by: java.lang.ClassNotFoundException: org.mockito.Mockito
  at java.net.URLClassLoader.findClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
  at java.lang.ClassLoader.loadClass(Unknown Source)
  ... 2 more
Run Code Online (Sandbox Code Playgroud)

我不知道这里出了什么问题。有人能帮我吗 ?

java mocking mockito service-virtualization

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

在 istio 中,一个命名空间中定义的虚拟服务如何使用另一个命名空间中定义的网关

如果 avirtualservice Anamespace Ausing 中定义,networking.istio.io它如何使用gateway B在另一个命名空间中定义的a namespace B

谢谢

gateway kubernetes istio service-virtualization

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