我有一个org.joda.time.DateTime对象,我需要检索军事时区缩写(例如T代表UTC-07:00,U代表UTC-08:00,Z代表UTC±00:00).
见http://en.wikipedia.org/wiki/List_of_military_time_zones
这是我目前正在做的事情:
int offset = dt.getZone().toTimeZone().getRawOffset() / (60 * 60 * 1000);
String timeZoneCode = timeZoneCodeMap.get(offset);
Run Code Online (Sandbox Code Playgroud)
where timeZoneCodeMap是使用HashMap<Integer, String>如下条目初始化的
timeZoneCodeMap.put(1, "A");
timeZoneCodeMap.put(2, "B");
timeZoneCodeMap.put(3, "C");
...
timeZoneCodeMap.put(-10, "W");
timeZoneCodeMap.put(-11, "X");
timeZoneCodeMap.put(-12, "Y");
timeZoneCodeMap.put(0, "Z");
Run Code Online (Sandbox Code Playgroud)
是否存在已包含时区到军事缩写的映射的函数或库(在Joda或其他方面)?
如果有更好的方法来计算偏移量,请随时告诉我.
我有一个Jenkins Job,它在一个由几个模块组成的Maven项目上运行SonarRunner.配置SonarRunner导入Cobertura覆盖率报告时,构建失败.
SonarQube Runner 2.4
Java 1.7.0_55 Oracle Corporation (64-bit)
Windows 7 6.1 amd64
INFO: Error stacktraces are turned on.
INFO: Runner configuration file: C:\Jenkins\tools\hudson.plugins.sonar.SonarRunnerInstallation\Sonar_Runner\conf\sonar-runner.properties
INFO: Project configuration file: NONE
INFO: Default locale: "en_US", source code encoding: "windows-1252" (analysis is platform dependent)
INFO: Work directory: C:\Jenkins\workspace\Sprint3\Application\.sonar
INFO: SonarQube Server 4.3
11:07:44.407 INFO - Load batch settings
11:07:44.609 INFO - User cache: C:\.sonar\cache
11:07:44.625 INFO - Install plugins
11:07:44.765 INFO - Install JDBC driver
11:07:44.781 WARN - H2 database should be …Run Code Online (Sandbox Code Playgroud) 我正在编写一个JUnit测试并使用Mockito,我想调用一个方法,该方法又多次调用第二个方法.我不希望在单元测试期间调用第二种方法,但我想知道它的参数是什么.我要测试的代码看起来像这样:
public class MyClass {
public void myMethod() {
int a = [do some logic]
int b = [do some logic];
doSomething(a, b);
a = [do some logic];
b = [do some logic];
doSomething(a, b);
}
public void doSomething(int a, int b) {
// code that I do not want to be executed during a unit test
}
}
Run Code Online (Sandbox Code Playgroud)
现在进行单元测试:
@Test
public void test() {
MyClass myClass = new MyClass();
myClass.myMethod();
verify(myClass).doSomething(17, 33);
verify(myClass).doSomething(9, 18);
}
Run Code Online (Sandbox Code Playgroud)
我是Mockito的新手,我不知道A)是否可以阻止执行doSomething()和B)验证a&b参数的值.我愿意接受像"Mockito在这里不能帮助你"或"这不是技术上可行的东西"这样的答案.如果没有办法模仿这种事情,我可以考虑将那些[做一些逻辑]块重构为我可以直接测试的方法但是我的代码比这个简单的例子更复杂,我不允许在线发布代码.
无论如何我可以在maven配置文件中传递参数.就像我想在特定端口上运行服务器,如果另外指定默认配置文件.就像当我运行mvn clean install -Pdeploy 4322时,应该将包部署到端口4322上运行的服务器,否则为4052.
我在等待任何建议或建议.