当我使用注释@Test(timeout = 3000)运行测试并且超时时,它会立即终止测试并且不会调用使用@After注释的tearDown方法.
在这种情况下清理的方法是什么?
编辑:我的测试是通过线路使用jax-rs调用资源端点,测试在http请求中间超时.这是我相当确定@After没有被调用的情况
如果我定义了一个Solr.DateField类型的字段,我读SOLR总是将它保存在GMT中.但我发现SOLR只需要花费在我的数据库中定义的时间并在没有转换的情况下编写它.
它有任何配置参数吗?
有可能做以下事情吗?
def takeCurriedFnAsArg(f: (Int)(implicit MyClass) => Result)
Run Code Online (Sandbox Code Playgroud) 我在我的Play 2.3应用程序中有一个application.dev.conf和application.test.conf我的conf文件夹,但我不希望它被打包作为我的发行版的一部分?有什么权利excludeFilter?
我使用MBeanServerFactory.createMBeanServer创建一个mbean服务器并使用它注册mbeans.我可以在jconsole中找到mbean服务器,但是当我连接到它时,我看不到已注册的mbeans.这是代码:
public static void main(String[] args) throws Exception
{
MBeanServer mbeanServer = MBeanServerFactory.createMBeanServer("example");
ObjectName objectName = new ObjectName("example:type=simpleMbean");
Simple simple = new Simple (1, 0);
mbeanServer.registerMBean(simple, objectName);
while (true)
{
}
}
Run Code Online (Sandbox Code Playgroud)
如果我使用platformMBeanServer并将mbean注册到它,而不是创建一个mbean服务器,我可以在jconsole中看到mbean.知道做createMBeanServer时我还需要做什么?
在游戏框架(2.2.1&sbt 0.13)中,我有一个IntegrationSpec提出了一个TestServer.我需要能够为.设置SSL特定的系统属性TestServer.到目前为止,我能够正确设置它的唯一方法是将它们作为命令行属性传递,如下所示
play -Djavax.net.ssl.keyStore=... -Djavax.net.ssl.keyStorePassword=.... -D... test
Run Code Online (Sandbox Code Playgroud)
我希望测试只是简单地运行play test.为了在Build.scala中,我配置了SBT javaOptions,如下所示
val main = play.Project(appName, appVersion, appDependencies).settings(
Keys.fork in Test := false,
javaOptions in Test += "-Dconfig.file=conf/application.test.conf")
Run Code Online (Sandbox Code Playgroud)
在application.test.conf中,我设置了所有系统属性.有了它,TestServer甚至没有使用application.test.conf.我无法弄清楚原因.所以我想我会尝试以下方法:
play -Dconfig.file=conf/application.test.conf test
Run Code Online (Sandbox Code Playgroud)
的TestServer那样使用application.test.conf,但正在使用没有一个文件中配置的系统性能(javax.net.ssl.keyStore ="..."等)的.
所以我有两个问题
play test?.(我不想长地图特性传递给FakeApplication中TestServer). play -Dconfig.file=conf/application.test.conf test,为什么配置的系统属性application.test.conf没有被使用?因此,如果在webapp中弹出初始化失败,那么webapp本身就不会出现.为了防止这种情况,我可能不会从我的代码中重新抛出任何异常的bean初始化,并且webapp将继续加载,对吧?
有没有其他方法可以告诉spring在特定的bean初始化失败时不要让webapp本身失败?
我使用spring currency formatter根据货币代码格式化值
public String format(Number number, String currencyCode)
{
CurrencyFormatter formatter = new CurrencyFormatter();
formatter.setCurrency(Currency.getInstance(currencyCode));
return formatter.print(number, Locale.getDefault());
}
Run Code Online (Sandbox Code Playgroud)
因此,如果我将其称为格式(10,"GBP"),那么无论区域设置是什么,我都希望该值返回10.00英镑.
这可能吗?
我有一个问题,意图没有交付给IntentService特定的活动流程:这是场景:
startService(Intent).(片段的getActivity().startService(Intent))stopService(intent)如果它在Activity/Fragment中运行,我确保它被停止使用onStop().onHandleIntent则从CF2的startService(Intent)之后永远不会调用.处理B和CF1意图.为了调试,我尝试等待IntentService在Activity B中完成,然后转到CF1 - > CF2,仍然是同样的问题.CF1在启动相同的意向服务时似乎没有任何问题.当我尝试IntentService为CF2 创建一个新类时,它起作用了.我的理解是IntentService有一个意图队列.如果服务第一次运行,则调用onStartCommand(我们不应该为IntentService处理).如果服务已在运行,则会为每次后续的startService调用调用onHandleIntent.
显然,我做错了什么但不清楚是什么.我试过调查其他stackoverflow问题,但没有帮助.我正在使用的代码非常简单:
AndroidManifest.xml中
<service android:name=".service.ExampleIntentService" />
Run Code Online (Sandbox Code Playgroud)
活动B.
@Override
public void onCreate(Bundle savedInstanceState)
{
.......
intent = new Intent(getApplicationContext(), ExampleIntentService.class);
intent.setAction(StringConstants.ACTION_B);
serviceRunning = true; //set to false in onReceiveResult
startService(intent);
}
@Override
public void onStop()
{ …Run Code Online (Sandbox Code Playgroud) 我的代码类似于以下内容:
class OuterClass
{
private final AtomicInteger count = new AtomicInteger(0);
private class InnerClass extends TimerTask
{
public void run()
{
......
......
incremenetCount();
}
}
public void doSomething()
{
.......
.......
incremenetCount();
}
private void incrementCount()
{
count.incrementAndGet();
}
}
Run Code Online (Sandbox Code Playgroud)
呼唤incrementCount从内部类一样从外部类中的任何其他函数调用它作为同步实际上是围绕着变量count?
我想使用其中包含查询参数的loadUrl加载Web视图.在ICS(4.0.3)中打开webview但URL无法加载.我已经看到这个问题已经提交谷歌,但我无法找到它的解决方案.这就是我想要做的.
private class MyWebViewClient extends WebViewClient
{
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error)
{
handler.proceed();
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
return true;
}
}
......
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new MyWebViewClient());
webview.loadUrl("https://www.example.com?queryParam1=value1");
......
Run Code Online (Sandbox Code Playgroud) 我有一个名为Group的类
class Group(id: Int, name: String, category: String) {
}
Run Code Online (Sandbox Code Playgroud)
我试图转换Array[Group]到Map[String, Seq[Group]]与category: String关键.Seq[Group]如果密钥不存在,我想创建一个空并添加组,否则更新Seq[Group].如果密钥已经存在,我不知道如何更新Seq.
我想实现以下内容:
private def msgPrefix(implicit myClass: MyClass, anotherClass: AnotherClass) = {
Option(myClass, anotherClass) match {
case Some(validMyClass, validAnotherClass) => validMyClass.process + validAnotherClass.process
case _ => ""
}
}
Run Code Online (Sandbox Code Playgroud)
这样做的正确方法是什么?