小编Sle*_*led的帖子

如何在测试套件中定义JUnit方法规则?

我有一个JUnit测试类的JUnit套件.如果在该测试方法上存在某个注释,我想套件定义一个规则,以便在运行每个单元测试之前和之后对数据库执行某些操作.

我已经能够在套件和测试类中创建一个@ClassRule,它将在每个之前执行此操作(这不够好)并且我已经能够使用测试类本身定义测试规则,但是这样是重复的,似乎不是很干.

是否可以在套件中定义每个测试方法规则,还是必须将它们添加到每个测试中?

编辑:为了澄清,我想在套件中声明代码,它将在测试类中的测试方法之间运行(即"围绕").

java junit junit4

11
推荐指数
1
解决办法
9905
查看次数

如何以编程方式生成.class文件?

我想为Java的玩具语言编写一个编译器.我想生成可运行的.class文件.我想知道什么是最好的图书馆或工具?我知道我可以学习所有指令的二进制格式并构建我自己的常量池等,但这似乎应该已经完成​​的工作:没有必要重新发明轮子,对吧?

在线搜索我发现了两种不同的Java汇编语言,JasminJamaica,但只有Jasmin看起来有点维护.

是否有用于将字节代码写入流的Java库?这是Apache BCEL的内容吗?

他们的工具是否是字节码生成的"标准",就像Antlr用于解析一样?


PS-玩具语言是Brainf***,我想要一些我可以拥有一个简单的"语法"的东西,所以我可以专注于生成方面而不是解析部分...将在下一步的后期出现.

java compiler-construction jvm .class-file

10
推荐指数
1
解决办法
6038
查看次数

对同一个表的列强制执行外键约束

在下表中输入值时,如何在SQL中对同一表的列强制执行外键约束:

员工:

  • empid数字,
  • 经理号码(必须是现有员工)

sql oracle foreign-keys self-reference insert-into

10
推荐指数
2
解决办法
2万
查看次数

FIX协议的OrdID,ClOrdID,OrigClOrdID之间有什么关系?

我是FIX协议的新手,希望有人可以帮助澄清一些条款.

特别是可能有人解释(也许用一个例子)的流动NewOrderSingle,ExecutionReport,CancelReplaceRequest以及如何领域ClOrdID,OrdID,OrigClOrdID在这些消息中使用?

quickfix fix-protocol

10
推荐指数
1
解决办法
3009
查看次数

使用cJSON读入JSON数组

我试图使用由Dave Gamble编写的cJSON库来读取以下JSON数组:

"items": 
[
    {
        "name": "command",
        "index": "X",
        "optional": "0"
    },
    {
        "name": "status",
        "index": "X",
        "optional": "0"
    }
]
Run Code Online (Sandbox Code Playgroud)

通过阅读他的文档,我找到了阅读单个对象的方法,但没有关于数组的内容,我无法从给出的示例中推测如何做到这一点.

这是我正在尝试的:

cJSON* request_json = NULL;
cJSON* items = cJSON_CreateArray();
cJSON* name = NULL;
cJSON* index = NULL;
cJSON* optional = NULL;

request_json = cJSON_Parse(request_body);

items = cJSON_GetObjectItem(request_json, "items");

name = cJSON_GetObjectItem(items, "name");
index = cJSON_GetObjectItem(items, "index");
optional = cJSON_GetObjectItem(items, "optional");
Run Code Online (Sandbox Code Playgroud)

我知道这是错的,不仅因为它不起作用,而且我无法弄清楚如何使它正确.

显然,我需要循环读取数组中每个索引的所有条目的过程.我不知道我将如何做到这一点,因为我不知道我应该在这个代码中使用索引,或者它是否是正确的开始.有一个cJSON_GetArrayItem(),但它只需要一个数字(可能是一个索引)而没有字符串来表示它想要的字段.

c json cjson

10
推荐指数
3
解决办法
3万
查看次数

实例规范和对象之间有什么区别

在UML中有两个相关的概念:

  1. 实例规范
  2. 宾语

实例规范和对象之间有什么区别?

uml

10
推荐指数
1
解决办法
1852
查看次数

在Maven中自动激活父插件

是否可以在父POM中定义一个已停用的插件,当子项继承此插件时,它会自动激活?

inheritance maven

9
推荐指数
4
解决办法
8115
查看次数

在Java中,是否可以为类的实例创建类型安全的类映射?

我想创建一个使用类作为键来返回该类实例的映射.就像是:

<T> Map< Class<T>, T > instanceMap = new HashMap< Class<T>, T > ();
instanceMap.put( Boolean.class, Boolean.TRUE );
instanceMap.put( String.class, "asdf" );   
instanceMap.put( Integer.class, 11 );

Boolean b = instanceMap.get( Boolean.class );
Integer i = instanceMap.get( Integer.class );
String s  = instanceMap.get( String.class  );
Run Code Online (Sandbox Code Playgroud)

这可能吗?我有一种感觉,不是不是因为我无法表明它T是一个泛型类型而不是一个名为"T"的类.感觉有点像"高阶泛型".

编辑:我知道我可以尝试扩展Map并实现我自己的包装器等,但我特别要求使用Java的通用支持来做这个.我对这个想法更感兴趣,而不是这个特殊情况.

编辑2:如下所述,这是问题的重复(或更具体地说是子案例):Java地图,其值受键的类型参数限制.如果我能够找到那样雄辩的措辞,我可能会找到答案而不是发布这个.

java generics

9
推荐指数
2
解决办法
1万
查看次数

如何在Java中没有排序约束的情况下获取多个锁?

所以我的代码与此类似

synchronized(objectOne){ do stuff }
synchronized(objectTwo){ do stuff }
Run Code Online (Sandbox Code Playgroud)

这个问题是程序将等待锁定objectOne,即使锁定objectTwo可用.我正在试图做的是说:尽量同时锁定objectOneobjectTwo,并取其锁定你会首先对该锁做的东西.我想出了一个解决方案,但我认为它相当hacky,我想知道是否有人有更好的想法.

这是我的想法:启动2个线程,每个线程等待一个锁,然后主线程将在CountDownLatch上等待.所以你最终得到这样的东西:

CountDownLatch latch = new CountDownLatch(2);

new Thread(new Runnable(){
public void run(){
    synchronized(objectOne) { do stuff }
    latch.countDown();
}).start();

new Thread(new Runnable(){
public void run(){
    synchronized(objectTwo) { do stuff }
    latch.countDown();
}).start();

latch.await();
Run Code Online (Sandbox Code Playgroud)

java concurrency locking

9
推荐指数
1
解决办法
688
查看次数

如何在MyBatis中检查空字符串?

如何在MyBatis的动态SQL中检查空字符串?我在documentaiton中找到了下面的代码,但是我想检查空字符串,而不是null.

<select id="findActiveBlogWithTitleLike" parameterType="Blog" resultType="Blog">
    SELECT * FROM BLOG WHERE state = ‘ACTIVE’
    <if test="title != null">
        AND title like #{title}
    </if>
</select>
Run Code Online (Sandbox Code Playgroud)

mybatis

9
推荐指数
2
解决办法
3万
查看次数