我只是尝试这个小样本项目,它所做的一切:活动一有一个发送广播的按钮.活动二在收到时显示祝酒词.下面是代码,从未收到广播.我做错了什么?
发送广播
public class SendBroadcast extends Activity {
public static String BROADCAST_ACTION = "com.unitedcoders.android.broadcasttest.SHOWTOAST";
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void sendBroadcast(View v){
Intent broadcast = new Intent();
broadcast.setAction(BROADCAST_ACTION);
sendBroadcast(broadcast);
}
}
Run Code Online (Sandbox Code Playgroud)
接收它
public class ToastDisplay extends Activity {
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(getApplicationContext(), "received", Toast.LENGTH_SHORT);
}
};
@Override
protected void onResume() {
IntentFilter filter = …Run Code Online (Sandbox Code Playgroud) 我有一个使用父ant文件的项目
与此类似:
<project name="some-portlet" basedir="." default="deploy">
<import file="../build-common-portlet.xml" />
<target name="test">
<echo message="do foo"/>
RUN TEST FROM PARENT HERE
</target>
</project>
Run Code Online (Sandbox Code Playgroud)
现在我想以这种方式覆盖父测试目标:
第一部分没问题,但我没有看到从父文件调用测试的方法
我希望目标也被命名为test,这样CI就可以简单地运行测试目标.
有没有办法在../build-common-portlet.xml中调用test?
我正在使用JUnit 4.11,扩展了BlockJUnit4ClassRunner并使用了自定义注释.如果注释与某个参数一起出现,则不会运行测试.
除了这种情况之外,这种方法很好,即类中的所有测试都被过滤掉,但是自定义测试运行器.
基本上完全如本文所述:JUnit4根据自定义java注释跳过测试
我尝试了这篇文章中提到的变通方法:JUnit:如何在test utils类中避免"没有runnable方法"
如果我引入了一个虚拟测试,那么至少有一个测试,总会运行,一切都很好.如果没有运行所有测试,因为它们都有注释,我将得到"No runnable methods"异常.
我可以接受解决方法,但应该有更好的方法.我很感谢任何指针或解释我做错了什么或如何改善这种情况.