我正在开发一个网络应用程序,我希望得到正确的单元测试.这个时候我们会这样做,你知道吗?:)
不过,我在测试网络连接时遇到了麻烦.
在我的应用程序中,我使用plain java.net.Sockets.
例如:
import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Message {
byte[] payload;
public Message(byte[] payload) {
this.payload = payload;
}
public boolean sendTo(String hostname, int port) {
boolean sent = false;
try {
Socket socket = new Socket(hostname, port);
OutputStream out = socket.getOutputStream();
out.write(payload);
socket.close();
sent = true;
} catch (UnknownHostException e) {
} catch (IOException e) {
}
return sent;
}
}
Run Code Online (Sandbox Code Playgroud)
我读到了关于嘲笑但不确定如何应用它.
我正在考虑php/mysql web开发的良好工作流程.
有人有提示吗?
我有两个配置文件
/app/config/database.yml
Run Code Online (Sandbox Code Playgroud)
和
/app/config/userconfig.yml
Run Code Online (Sandbox Code Playgroud)
我不想将数据库凭据和userconfig放在svn-repository中,所以我签入了database.yml.dist和userconfig.yml.dist.
在第一次部署应用程序时,在共享目录中获取dist文件的copys的最佳方法是什么?
对于以后的部署,我将从/ app/current/config链接到它们
我createSocket()在我的测试用例中覆盖了一个方法,以便在一个模拟的Socket中使用.执行此操作后,对象不再可序列化.
这是一个不起作用的例子.
Foo.java
import java.io.Serializable;
public class Foo implements Serializable {
private static final long serialVersionUID = 3109852436898487119L;
public void bar() {
System.out.println("Foo");
}
}
Run Code Online (Sandbox Code Playgroud)
FooTest.java
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import junit.framework.TestCase;
import org.junit.Test;
public class FooTest extends TestCase {
// this passes
@Test
public void testFooIsSerializable() throws IOException {
Foo foo = new Foo();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(baos);
out.writeObject(foo);
}
// this throws a java.io.NotSerializableException
@Test
public void testFooIsStillSerializableAfterBarIsOverridden() …Run Code Online (Sandbox Code Playgroud) java ×2
capistrano ×1
deployment ×1
mocking ×1
mysql ×1
overriding ×1
php ×1
sockets ×1
staging ×1
svn ×1
unit-testing ×1
workflow ×1