在eclipse-> junit-view中显示的测试执行时间取决于整个测试用例执行,包括:
我需要一个关于businesslogic的执行时间和我的businesslogic的更详细的声明.这就是我在我的测试用例中所做的:
Date lNow = new Date();
List<Geo> lAllBasisGeo = mGeoEvaluator.evaluateAllGeo(lGeoFixture.getGeo(), lAllGeo);
Date lStop = new Date();
System.out.println("Time of execution in seconds:"+((lStop.getTime()-lNow.getTime())/1000));
Run Code Online (Sandbox Code Playgroud)
好吧......我想我确定时间很尴尬.此外,我不认为有必要声明两个Date变量.
我需要更有效地编写代码的建议......
我在我的业务逻辑中写了很多评论:
/**
* Do some important stuff.
* @param pDog
* @param pAllDogTraining
* @return
*/
@Overwrite
public Map<DogId, Dog> doEvaluateAllDog(final Dog pDog, final Collection<DogTraining> pAllDogTraining) {
final Map<DogId, Dog> lAllDogBad = new HashMap<DogId, Dog>();
final List<DogTraining> lAllDogTraining = new ArrayList<DogTraining>(pAllDogTraining);
/**
* Remove deleted entries.
* Detailed description
*/
removeDeletetTrainings(lAllDogTraining);
/**
* Set the priority for each training
* - bad dogs
* - nice dogs
* - unknown dogs
* Detailed description
*/
Collections.sort(lAllDogTraining, new DogTrainingComparator());
// Iterate …
Run Code Online (Sandbox Code Playgroud) 目前我正在进行一些代码审查,我发现这行代码中断了测试用例:
assertEquals(Long.valueOf(4321), lMessage.getNumber());
Run Code Online (Sandbox Code Playgroud)
getNumber
返回一个Integer
也是4321
.我改成了这个:
assertTrue(4321 == lSavedStoerung.getMessage());
Run Code Online (Sandbox Code Playgroud)
因为在我对equals方法的理解中,assertEquals
在第一个例子中永远不能返回true.我的assertTrue
所有测试用例运行正常.
或者我理解错了什么?
我在的piechart
帮助下实现了mpandroid library
:
如您所见,一切正常...但是右侧的饼图图例有一个小问题。
页面的高度很小。图例未完全显示。
我的图例代码:
Legend l = mChart.getLegend();
l.setPosition(LegendPosition.RIGHT_OF_CHART);
l.setXEntrySpace(7);
l.setYEntrySpace(5);
setContentView(mChart);
Run Code Online (Sandbox Code Playgroud)
是否可以选择自动增加图表的高点以使图例完整显示或至少具有滚动功能?
提前Thx
斯特凡
关于我的域对象中生成的getter和setter方法,我有一个小问题.我想为我的源代码使用一个通用的样式指南.该样式指南的一部分说我开始使用前缀'm'作为成员的每个类成员名称.
class User{
String mName;
List<Call> mAllCall;
List<Geo> mAllGeo;
Run Code Online (Sandbox Code Playgroud)
不幸的是,我有几个有更多成员变量的类.我遇到的问题是我是一个非常懒惰的开发人员,我在Eclipse中创建了getter和setter方法
"来源" - >"生成吸气剂和二传手".
结果是
public String getmName() {
return mName;
}
public void setmName(String mName) {
this.mName = mName;
}
public List<Call> getmAllCall() {
return mAllCall;
}
public void setmAllCall(List<Call> mAllCall) {
this.mAllCall = mAllCall;
}
public List<Geo> getAllGeo() {
return mAllGeo;
}
public void setmAllGeo(List<Geo> mAllGeo) {
this.mAllGeo = mAllGeo;
}
Run Code Online (Sandbox Code Playgroud)
那不是我想要的结果.我需要这个:
public String getName() {
return mName;
}
public void setName(String pName) {
this.mName = pName;
}
public …
Run Code Online (Sandbox Code Playgroud) 我习惯用这样的泛型实现循环:
for (final Dog lDog : lAllDog) {
...
}
Run Code Online (Sandbox Code Playgroud)
对于另一个业务案例的不幸,我需要迭代的当前计数.我知道我可以通过编写类似的东西来解决这个问题:
for (int i = 0 ; i < lAllDog.length(); i++) {
System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)
要么
int i = 0;
for (final Dog lDog : lAllDog) {
...
i++;
}
Run Code Online (Sandbox Code Playgroud)
但有没有办法用我的第一个代码示例获取当前的迭代计数而不声明新的int
或更改整个循环标头?
多谢
我遇到了一个sonar
问题:
删除此未使用的方法参数"messageId".
我的方法看起来像:
private static Optional<Status> getStatus(Member member, String messageId) {
return Optional.ofNullable(member)
.map(Member::getTraffic)
.map(Traffic::getSymlinks)
.map(messages -> messages
.stream()
.filter(message -> message.getMessageId().equals(messageId))
.findFirst()).flatMap(message -> message.map(Message::getStatus));
}
Run Code Online (Sandbox Code Playgroud)
在messageId
使用内部的equals
所述过滤器的.这不是场.它是方法参数.
这是一个sonar
错误还是我忽略了什么?我们正在使用Sonar 5.6
我有这个Ansible作为字符串:
FUBAR={{ PREFIX }}_{{ CNAME }}{{ VERSION }}
Run Code Online (Sandbox Code Playgroud)
我想用替换.
串联字符串中的所有内容''
,如下所示:
FUBAR={{ {{ PREFIX }}_{{ CNAME }}{{ VERSION }} | replace('.','') }}
Run Code Online (Sandbox Code Playgroud)
我收到消息:
expected token ':', got '}'
Run Code Online (Sandbox Code Playgroud)
谁能给我一个建议怎么了?
我有这个功能:
public static FradId readFradId(DataInput pIn) throws IOException {
Integer lMainId = Integer.valueOf(pIn.readInt());
Integer lReferenceId = Integer.valueOf(pIn.readInt());
String lShortname = pIn.readUTF();
return new FradId(lMainId,lReferenceId,lShortname);
}
Run Code Online (Sandbox Code Playgroud)
我在这一行得到了一个断点:
String lShortname = pIn.readUTF();
Run Code Online (Sandbox Code Playgroud)
我的问题是在某些情况下函数readUTF
抛出一个RuntimeException
.应用程序执行该功能超过100次,因此我很难找到问题.
我的问题:有没有办法用断点条件捕获该异常?我已经在简单的布尔条件下使用了这些条件,但我不知道在抛出异常时如何在该行中停止.
Thx提前
斯特凡
我的功能出了问题.该代码对我来说非常好,它在boolean属性为true时删除了一个项:
private void doRemoveAusgefallenePlaene(Collection<CarPlan> pAllCarPlan) {
for (Iterator<CarPlan> lCarPlanIterator = pAllCarPlan.iterator(); lCarPlanIterator.hasNext();) {
CarPlan lCarPlan = lCarPlanIterator.next();
if (!lCarPlan.isAusfall()) {
lCarPlanIterator.remove();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我希望将函数用于类型的对象CarPlan
以及ShipPlan
(都实现接口Plan
).
private void doRemoveAusgefallenePlaene(Collection<? extends Plan> pAllPlan) {
for (Iterator<? extends Plan> lIterator = pAllPlan.iterator(); lPlanIterator.hasNext();) {
Plan lPlan = lPlanIterator.next();
if (!lPlan.isAusfall()) {
lPlanIterator.remove();
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我可以使用Collections
Type CarPlan
和调用函数ShipPlan
doRemoveAusgefallenePlaene(pAllCarPlan);
doRemoveAusgefallenePlaene(pAllShipPlan);
Run Code Online (Sandbox Code Playgroud)
并且代码编译没有问题.不幸的是,在执行时会抛出UnsupportedOperationException
lPlanIterator.remove();
Run Code Online (Sandbox Code Playgroud)
我认为通过声明我明白了解错误Collection<? extends Plan>
.谁知道这个问题?
- 更新 - 对于那些对一种可能的解决方案感兴趣的人:
final List<CarPlan> lAllCarPlan …
Run Code Online (Sandbox Code Playgroud)