小编Ren*_*eld的帖子

Jenkins自定义插件可以在奴隶日志上掌握吗?

基本上,我有完全相同的问题链接在这里: 如何在Jenkins插件中将数据从FileCallable发送回主机?

但我无法让它发挥作用.我编写了自己的自定义Jenkins插件,它必须在奴隶上运行.但是,我想记录主jenkins(或者至少是构建日志).这是我的代码(为简单起见,有点简化):

public class SanityTestResultsToJUnitXMLBuilder extends Builder implements Serializable  {

  // Some initialization code

  @Override
  public boolean perform(AbstractBuild build, Launcher launcher, BuildListener listener) {   

    // Define what should be run on the slave for this build
    SlaveChannel slaveChannel = new SlaveChannel(sourceDirectories, destinationDirectory, listener.getLogger());
    if (launcher.getChannel().call(slaveChannel).equals("NOK")){
        return false;
    }
    return true;
  }

  private static final class SlaveChannel implements Callable<String, IOException>
  {
    // Again, some initialization code

    public SlaveChannel(String sourceDirectories, String destinationDirectory, PrintStream logger){
        this.sourceDirectories = sourceDirectories;
        this.destinationDirectory = destinationDirectory;
        this.logger …
Run Code Online (Sandbox Code Playgroud)

java jenkins jenkins-plugins

6
推荐指数
1
解决办法
907
查看次数

PowerMock when new不带@PrepareForTest吗?

这是我的情况,我有2个非常简单的类:

public class B {

    public void doSomething(){
        System.out.println("doSomething B reached");
    }
}
Run Code Online (Sandbox Code Playgroud)

和:

public class A {

public void doSomething(){
    B b = new B();
    b.doSomething();
    System.out.println("doSomething A reached");
}
Run Code Online (Sandbox Code Playgroud)

}

我想用Mockito测试类A的doSomething方法。因此,我想模拟类B的实例,并在实例化类B时将其提供给A。出于隔离的原因,我根本不希望达到b.doSomething()。

我知道我可以通过创建以下单元测试来实现此行为:

@RunWith(PowerMockRunner.class)
public class TestA {

    @Test
    @PrepareForTest(A.class)
    public void testDoSomethingOfA() throws Exception{
        A a = PowerMockito.spy(new A());
        B b = PowerMockito.mock(B.class);
        PowerMockito.whenNew(B.class).withNoArguments().thenReturn(b);
        a.doSomething();
    }
}
Run Code Online (Sandbox Code Playgroud)

结果输出:

doSomething A reached
Run Code Online (Sandbox Code Playgroud)

如此工作!但是,我现在的问题是我们使用Jococo插件进行测试。Jococo不涵盖使用@PrepareForTest(A.class)语句测试过的代码。我的公司重视准确的代码测试范围。

我的问题:是否有另一种方法可以使A实例化B而不必使用@PrepareForTest语句?

提前谢谢了!

java testing unit-testing mockito powermock

5
推荐指数
1
解决办法
3260
查看次数

如果我的Ionic 2范围滑块改变值,我该如何调用方法

我正在开发一款Ionic 2应用程序,并且正在使用该系列,如下所述:https: //ionicframework.com/docs/v2/api/components/range/Range/

叫我疯了,但我无法在谷歌的任何地方找到一旦值发生变化,范围组件可以在我的.ts类中调用方法.

像按钮这样的东西:

<button ion-button (click)="myMethod($event)">
Run Code Online (Sandbox Code Playgroud)

当然,我需要滑块的值.在我的情况下,我将其定义如下:

  <ion-range min="0" max="10" color="danger">
    <ion-label range-left>0</ion-label>
    <ion-label range-right>10</ion-label>
  </ion-range>
Run Code Online (Sandbox Code Playgroud)

有人有个主意吗?

ionic2 angular

5
推荐指数
1
解决办法
4405
查看次数

闲置时JVM锯齿模式?JVM在此期间做了什么?

我在想.我有一个带有servlet的简单Java Web项目.当没有用户使用它时(我在GlassFish上本地托管它)我仍然在进程的内存使用中看到锯齿模式.我似乎无法理解JVM正在做什么?我理解JVM使用的内存的正常流程.堆正在填充应用程序正在创建的对象.在某个时刻,堆到达垃圾收集器进入的点,这将删除所有不再使用的"缓存"对象,以便可以创建新对象并填充堆大小.

我想知道的是,JVM在空闲时一直在做什么? 在此输入图像描述

编辑:

就像我在评论中说的那样.我在Eclipse中创建了一个非常简单的Java应用程序,它显示了一个Swing窗口,上面写着'hello world'.当我在Java VisualVM中观察JVM的内存使用情况时,我看到了相同的锯齿模式.

java memory swing jvm

3
推荐指数
1
解决办法
1078
查看次数

JVM锯齿空闲进程

我正在进行一项研究,调查一些JVM以及它的内存使用情况.我不明白的是,JVM在空闲时填充它的内存是什么,只是在几乎达到堆时释放它?为什么不只有一个用过的内存扁平线?顺便说一句,这个java应用程序托管在glassfish上,但是当我有一个简单的'hello world'swing应用程序时,我有相同的图表.所以GlassFish不必对它做任何事情.

在此输入图像描述

提前致谢!

java garbage-collection jvm

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

Virtuoso Native RDF Quad Store和基于Virtuoso SQL的RDF Triple Store之间的区别

我目前正在调查炫技,我真的想知道的区别是原生四核RDF存储和基于RDF三元组存储在SQL之间有什么这个页面(向下滚动有点见图)上,如下所示: HTTP:// virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtJenaProvider

我知道Native RDF Quad Store使用传统的关系数据库,但是它针对使用SPARQL的更快请求进行了优化.这让我很困惑!因为我想知道SQL Based RDF Triple商店现在是什么......

提前致谢!

rdf triplestore virtuoso

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

获取所有JVM使用的所有Java类的列表?

我希望有一个列表,列出在某个时刻在多个线程/ JVM中加载的所有类.

我知道当你使用-verbose参数运行java时,你可以将它写成一个文件,如下所示:java -verbose:class com.package.Foo > classes-used.txt

但是,我的主程序中有一些线程使用shell脚本来启动一个新的jar.我想避免必须-verbose在每个shell脚本中编写参数,我想知道在Linux上是否还有其他方法可以做到这一点?

java linux classloader

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