package org.test4j.spec.inner; import org.test4j.spec.ISpec; /** * 场景测试类中的方法描述 * * @author darui.wudr 2013-1-10 下午7:12:10 */ public interface ISpecMethod { /** * 执行场景步骤 * * @param jSpec * @param step * @return */ Object execute(ISpec spec, IScenarioStep step); /** * 返回定义方法的类全路径名称 * * @return */ String getClazzName(); /** * 返回定义方法的名称 * * @return */ String getMethodName(); /** * 场景测试类中测试方法ID * * @author darui.wudr 2013-1-10 下午7:25:48 */ public class SpecMethodID { /** * step方法名称 */ private final String methodName; /** * 方法参数个数 */ private final int argCount; public SpecMethodID(String methodName, int argCount) { this.methodName = methodName; this.argCount = argCount; } public String getMethodName() { return methodName; } @Override public String toString() { return "SpecMethod[method=" + methodName + ", argCount=" + argCount + "]"; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + argCount; result = prime * result + ((methodName == null) ? 0 : methodName.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; SpecMethodID other = (SpecMethodID) obj; if (argCount != other.argCount) return false; if (methodName == null) { if (other.methodName != null) return false; } else if (!methodName.equals(other.methodName)) return false; return true; } } }