Posted by Łukasz Dywicki on Dec 03 2008
Złym zwyczajem jest modyfikowanie argumentów zamiast zwracania nowej wartości, jakkolwiek trafiają się sytuacje gdy testowany kod powinien weryfikować takie wywołania. W EasyMock mamy do dyspozycji w takim przypadku interfejs IAnswer. Jego użycie jest w miarę proste – dobieramy się do tablicy argumentów i robimy z nią co potrzeba.
Oto przykład – interfejs Populator dodaje do przekazanej [...]
Posted by Łukasz Dywicki on Nov 26 2008
Często zdarza się że metody, które piszemy i później testujemy mają argumenty w postaci tablic. EasyMock wówczas potrafi zgłosić wyjątek, że przekazana tablica jest różna od oczekiwanej mimo, że zawartość tablic jest identyczna.
java.lang.AssertionError:
Unexpected method call find([Ljava.lang.String;@1ad77a7):
find([Ljava.lang.String;@b8f82d): expected: 1, actual: 0
package org.code_house.test.mock;
import static org.easymock.EasyMock.aryEq;
import static org.easymock.EasyMock.createMock;
import static org.easymock.EasyMock.expect;
import static org.easymock.EasyMock.replay;
import [...]
Posted by Łukasz Dywicki on Nov 24 2008
Do Javy 6.0 zostało dołączone API (JSR 223) umożliwiające wywoływanie różnych języków wewnątrz wirtualnej maszyny. Można w ten sposób przesunąć chociażby moment kompilowania kodu na później bądź od razu podpiąć język interpretowany.
Poniżej przykład:
package org.code_house.scripting;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineFactory;
import javax.script.ScriptEngineManager;
public class JSMain {
public static void main(String[] args) throws Exception {
[...]