这里是在成功编译Ubuntu后从github克隆的项目结构,
javaml bin net/sf/javaml/core/Dataset.class javaml src net/sf/javaml/core/Dataset.java
当给出以下命令时:
java -ea -classpath /home/shahid/git/javaml/bin:/home/shahid/a_f_w/randoop-3.1.5/randoop-all-3.1.5.jar randoop.main.Main gentests --testclass=net.sf.javaml.core.Dataset --literals-file=CLASSES
它生成了错误:"忽略通过--classlist或--testclass指定的接口net.sf.javaml.core.Dataset。 没有要测试的课程 "
而另一个命令
java -ea -classpath /home/shahid/git/java-ml/bin:/home/shahid/a_f_w/randoop-3.1.5/randoop-all-3.1.5.jar randoop.main.Main gentests --testclass=DataSet --literals-file=CLASSES没有其他项目的包工作完美。 任何帮助都会有所帮助。
答案 0 :(得分:1)
错误消息为您提供答案:
忽略通过--classlist或--testclass指定的接口net.sf.javaml.core.Dataset。没有要测试的课程
您应该为Function IsRef(i As Integer, nextrow As Integer)
命令行参数提供类而不是接口。
通过将--testclass
传递给Randoop,您表示您只希望Randoop创建--testclass=net.sf.javaml.core.Dataset
类型的对象。但是,由于这是一个接口,因此无法实例化,并且Randoop无法创建任何对象,也无法进行任何测试。
答案 1 :(得分:0)
以下命令对我有用:
#include <exception>
#include <tuple>
#include <type_traits>
#include <map>
enum libusb_error {
LIBUSB_SUCCESS,
LIBUSB_ERROR_IO,
LIBUSB_ERROR_INVALID_PARAM,
LIBUSB_ERROR_ACCESS,
LIBUSB_ERROR_NO_DEVICE,
LIBUSB_ERROR_NOT_FOUND,
LIBUSB_ERROR_BUSY,
LIBUSB_ERROR_TIMEOUT,
LIBUSB_ERROR_OVERFLOW,
LIBUSB_ERROR_PIPE,
LIBUSB_ERROR_INTERRUPTED,
LIBUSB_ERROR_NO_MEM,
LIBUSB_ERROR_NOT_SUPPORTED,
LIBUSB_ERROR_OTHER
};
const char *libusb_strerror(libusb_error error) {
if (LIBUSB_ERROR_IO)
return "LIBUSB_ERROR_IO";
if (LIBUSB_ERROR_INVALID_PARAM)
return "LIBUSB_ERROR_INVALID_PARAM";
}
class generic_error {
public:
virtual const char* what() const throw() = 0;
virtual void do_throw() const = 0;
};
template<libusb_error error>
class LIBUSBError : public generic_error {
public:
virtual const char* what() const throw() {
return libusb_strerror(error);
}
virtual void do_throw() const {
throw *this;
}
};
template <class SupportedErrors = std::tuple<std::integral_constant<libusb_error, LIBUSB_ERROR_IO>, std::integral_constant<libusb_error, LIBUSB_ERROR_INVALID_PARAM>>>
struct ErrorMap;
template <libusb_error... Es>
struct ErrorMap<std::tuple<std::integral_constant<libusb_error, Es>...>>{
static std::map<libusb_error, generic_error*> em;
};
template <libusb_error... Es>
std::map<libusb_error, generic_error*> ErrorMap<std::tuple<std::integral_constant<libusb_error, Es>...>>::em = {{Es, new LIBUSBError<Es>{}}...};
libusb_error known_at_runtime() {
return LIBUSB_ERROR_IO;
}
int main() {
try {
ErrorMap<>::em[known_at_runtime()]->do_throw();
} catch (LIBUSBError<LIBUSB_ERROR_IO>&) {
}
}
@mernst感谢您的回复。