小编Ben*_*hko的帖子

通过 LauncherDiscoveryRequest 在提供的类路径上发现测试

我正在尝试在用户指南中所述LauncherDiscoveryRequest的帮助下发现 JUnit 5 测试。我正在使用的代码如下所示:

LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
    .filters(includeClassNamePatterns(".*"))
    .build();

TestPlan plan = LauncherFactory.create().discover(request);

for (TestIdentifier root : plan.getRoots()) {
    System.out.println("Root: " + root.toString());

    for (TestIdentifier test : plan.getChildren(root)) {
        System.out.println("Found test: " + test.toString());
    }
}
Run Code Online (Sandbox Code Playgroud)

是否LauncherDiscoveryRequestBuilder仅自动发现运行此代码的 JVM 的类路径上的测试?我尝试使用方法DiscoverySelectors.selectClasspathRootsDiscoverySelectors.selectClasspathResource作为选择器来提供要搜索测试类的根目录。但是,我无法发现任何测试。selectClasspathRoots和 的参数是否selectClasspathResource必须指向包含按包组织的类文件的根目录,或者是否提供每个测试类文件的完整路径?

我尝试了以下内容,其中/some/dir代表包含测试类文件的根目录:

File classesDir = new File("/some/dir");
LauncherDiscoveryRequestBuilder.request()
     .selectors(selectClasspathRoots(Collections.singleton(Paths.get(classesDir.toURI()))))
     .build();
Run Code Online (Sandbox Code Playgroud)

我看了一下,LauncherDiscoveryRequestBuilderTests.java但它对于弄清楚为什么我的示例代码不起作用非常有用。我如何最好地诊断问题?

我正在使用以下依赖项:

  • org.junit.platform:junit-platform-engine:1.0.0-M3
  • org.junit.platform:junit-platform-launcher:1.0.0-M3

java junit5

4
推荐指数
1
解决办法
5776
查看次数

处理git责备的全部内容

我想处理git blame特定文件的完整输出.某些文件太长而无法放在屏幕上,因此用户需要通过按键逐行向下滚动Enter.是否缺少可以打印出完整输出的命令行选项?或者,我可以使用该-L选项来定义行起点和终点.但是,这需要我弄清楚文件有多少行并多次运行命令,这是我想避免的.

git

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

使用gradle为每个主类构建jar

  1. 1.我的项目有两个主要类我想使用gradle为每个主类构建jar.我的源码有2个文件ValidationRule.java SupportValidator.java这两个文件都有一个主类每个我想为每个主类构建jar我可以从eclipse中实现同样的工作正常2.我想为我的项目加载源文件从2个不同的文件夹,有些部分在一个文件夹中,剩下的就在另一个文件夹中,例如project/src和项目外的另一个文件夹(../../../ SharedClass)

    我的脚本如下

    apply plugin: 'eclipse'
    apply plugin: 'java'
    
    sourceCompatibility = 1.6
    archivesBaseName = 'Process_XY'
    
    configurations {
        configurations.compile.transitive = false
    }
    
    dependencies {
        compile fileTree(dir:'/trunk/Solutions/project/Source/Binaries/CommonFunctions/build/libs', include: '*.jar')
        compile fileTree(dir:'/trunk/Solutions/project/lib/GeoTools/geotools-2.7.4-bin/geotools-2.7.4', include: '*.jar')
        compile "org.apache.hadoop:hadoop-core:1.0.3"
        compile "commons-collections:commons-collections:3.2.1"
        compile "commons-configuration:commons-configuration:1.6"
        compile "commons-discovery:commons-discovery:0.2"
        compile "commons-lang:commons-lang:2.4"
        compile "commons-logging:commons-logging:1.1.1"
        compile "commons-logging:commons-logging:1.0.4"
        compile "log4j:log4j:1.2.16"
        compile "com.vividsolutions:jts:1.8"
        compile "commons-net:commons-net:1.4.1"
        compile "org.apache.hadoop:hadoop-core:1.0.3"
        compile "commons-httpclient:commons-httpclient:3.0.1"
        compile "org.mortbay.jetty:servlet-api:2.5-20081211"
        compile "org.apache.hbase:hbase:0.94.0"
        compile "org.apache.zookeeper:zookeeper:3.4.3"
    }
    
    repositories {
        mavenCentral()
        maven { url "https://repository.cloudera.com/artifactory/cloudera-repos/" }
        maven { url "http://repo.springsource.org/libs-release" }
        maven { url "http://repo.springsource.org/libs-milestone" …
    Run Code Online (Sandbox Code Playgroud)

gradle

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

在运行时从属性文件中读取值

我想根据属性file.how的请求获取特定值来做到这一点?

我有以下spring配置.我想根据请求设置Exprops的值,并从属性文件中获取相应的值

<bean id="Prop" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location">
        <value>classpath:ErrorMessage.properties</value>
    </property>
</bean>

<bean id="PropertiesBean" class="com.util.PropertiesUtil">
    <property name="Exprops" value="${EXampleExceptiion}"></property>
</bean>
Run Code Online (Sandbox Code Playgroud)

spring properties

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

如何通过gradle在Eclipse项目中添加对类路径的具体引用?

我在文档中看到的所有说明如何通过 build.gradle 文件向 Eclipse 项目类路径添加条目的示例都太常见了。他们没有说如何添加条目:

<classpathentry exported="true", kind="con" path="GROOVY_SUPPORT"/>
Run Code Online (Sandbox Code Playgroud)

Doc或“Gradle Effective Implementation Guide”一书对于建议毫无用处

  //closure executed after .classpath content is loaded from existing file
  //and after gradle build information is merged
  whenMerged { classpath ->
    //you can tinker with the Classpath here
  }
Run Code Online (Sandbox Code Playgroud)

eclipse gradle gradle-eclipse eclipse-classpath build.gradle

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

java servlet:调用doPost但不是doGet

我有一个名为LoggingServlet的日志记录servlet,它覆盖了doGet和doPost方法,如下所示:

public class LoggingServlet extends HttpServlet {
    private static final long serialVersionUID = 2L;

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        ...do stuff here
    }

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    {
        ...do stuff here
    }
Run Code Online (Sandbox Code Playgroud)

我的web.xml看起来像这样:

  <servlet>
    <servlet-name>LoggingServlet</servlet-name>
    <servlet-class>com.example.servlets.LoggingServlet</servlet-class>
  </servlet>    

  <servlet-mapping>
    <servlet-name>LoggingServlet</servlet-name>
    <url-pattern>/LoggingServlet/*</url-pattern>
  </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

这是一个实现一些JavaScript的jsp的片段:

<script>
    document.getElementById("ad_div").onmousedown = function () {
        xmlhttp=new XMLHttpRequest();
        xmlhttp.open("GET","/LoggingServlet?bookie_id=<%= request.getParameter("id") %>&app_id=<%= request.getParameter("app_id") %>",true);
        xmlhttp.send();
        return true;
    };
</script>
Run Code Online (Sandbox Code Playgroud)

我还有另一个通过Post请求调用LoggingServlet的jsp.现在我的问题:

  1. Post请求正常,没有任何问题
  2. 但是,来自javascript的Get请求返回404错误.我还手动将完整的URL输入到webbrowser中,我收到了404错误.

怎么可能?

java jsp servlets

0
推荐指数
1
解决办法
2220
查看次数