到目前为止,我一直在使用SOAPUI进行模拟响应.我的用例很简单:
只是将SOAP XML请求发送到不同的端点(http:// localhost:9001/endpoint1)并获取预设的XML响应.但是MockWrire必须作为独立服务部署到专用服务器上,该服务器将作为模拟响应的中心位置.
只想要一些开始的建议.我可以看到WireMock更适合REST Web服务.所以我的怀疑是:
1)我是否需要将其部署到Java Web服务器或容器以充当始终运行的独立服务.我读到你可以通过使用来剥离
java -jar mockwire.jar --port [port_number]
Run Code Online (Sandbox Code Playgroud)
2)我是否需要使用MockWire API?我需要为我的用例制作课程吗?在我的例子中,请求将通过JUnit测试用例触发以进行模拟.
3)如何实现简单的URL模式匹配?如上所述,我只需要简单的模拟,即在向http:// localhost:9001/endpoint1发出请求时获取响应
4)我的用例是否有更好/更容易的框架?我读到了Mockable,但它对3个团队成员和免费层的演示域有限制.
我有一个示例代码,它创建一个大小为10的"数组",并尝试在For循环中使用反向值初始化它,例如:(9,8,7,6,5 ... 0):
int[] array = new int[10];
for (int i = array.length - 1, j = 0; i >= 0; i--, j++) {
System.out.println("Present value of i=" + i
+ " Present value of j=" + j);
array[j] = i;
System.out.println("Array:" + j + "=" + i);
}
for (int k : array) {
System.out.println(array[k]);
}
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.这是控制台的输出,非常完美:
Present value of i=9 Present value of j=0
Array:0=9
Present value of i=8 Present value of j=1
Array:1=8
Present value of i=7 …Run Code Online (Sandbox Code Playgroud) 我最近开始深入研究Java中的多线程.在探索事物的过程中,我发现在Java中有两种快速而肮脏的方法可以"随时随地"创建Threads.这是一个例子:
public static void main(String[] args) {
System.out.println("Thread: " + Thread.currentThread().getName());
new Thread() {
public void run() {
System.out.println("Thread: "
+ Thread.currentThread().getName());
System.out.println("hello");
}
}.start();
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread: "
+ Thread.currentThread().getName());
System.out.println("hello");
}
}).start();
}
Run Code Online (Sandbox Code Playgroud)
new Thread() {new Thread(new Runnable() {我只想问两种方法是否正确?除了实现Runnable Interface v/s扩展Thread类的差异之外还有什么区别?
我使用的消费者代码编写和制作wait(),并notify()在Java中.创建并调用Thread-0并创建produce()Thread-1并调用它consume().
public class Processor {
private volatile List<Integer> list = new ArrayList<>();
private final int MAX_CAPACITY = 5;
Object lock = new Object();
public void produce() throws InterruptedException {
while (true) {
while (list.size() == MAX_CAPACITY) {
System.out.println("List is full! Producer is Waiting....");
synchronized (lock) {
lock.wait();
}
}
synchronized (lock) {
int random = new Random().nextInt(100);
list.add(random);
System.out.println("Added to list:" + random);
lock.notify();
}
}
}
public void consume() throws InterruptedException …Run Code Online (Sandbox Code Playgroud) 更新:我已经包含了整个代码来清除歧义.
这是我用于getter和setter方法的CompileClass:
package user;
public class CompileClass {
public String date1;
public String date2;
public String p_code;
public CompileClass(){
}
public void setDate1( String name ) {
date1 = name;
}
public void setDate2( String name ) {
date2 = name;
}
public void setP_code( String name ) {
p_code = name;
}
public String getDate1() {
return date1;
}
public String getDate2() {
return date2;
}
public String getP_code() {
return p_code;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的BEAN duplicaterecords.jsp:
package user; …Run Code Online (Sandbox Code Playgroud) 我在 CentOS 上使用 WireMock 的独立 jar。启动服务器很好,但是当我尝试使用 url 访问映射文件时:
我收到错误:
HTTP ERROR 404
Problem accessing /__files/_admin. Reason:
NOT_FOUND
Run Code Online (Sandbox Code Playgroud)
我开始 WireMock 如下:
java -jar wiremock-1.57-standalone.jar --port 8090
Run Code Online (Sandbox Code Playgroud)
以下是目录中文件的权限:
drwxrwxrwx 2 anurag.upadhaya domain users 4096 Mar 17 12:16 __files
drwxrwxrwx 2 anurag.upadhaya domain users 4096 Mar 17 12:16 mappings
-rwxrwxrwx 1 anurag.upadhaya domain users 6935826 Mar 18 09:57 wiremock-1.57-standalone.jar
Run Code Online (Sandbox Code Playgroud)