小编her*_*ung的帖子

在surefire执行中的所有测试之前和之后运行代码

我有一个Grizzly HttpServer,我想在整个测试组执行期间运行.另外,我想从@Rule测试本身内部与全局HttpServer实例进行交互.

由于我使用Maven Surefire而不是使用JUnit测试套件,因此我不能在测试套件上使用@BeforeClass/ @AfterClass.

现在,我能想到的只是懒洋洋地初始化静态字段并停止服务器Runtime.addShutdownHook()- 不好!

java junit grizzly maven-surefire-plugin

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

如何使用FILE*参数对C函数进行单元测试

我有一个uint8_t command_read(const FILE* const in)可以读取的C函数in.我想为函数编写一个单元测试.是否有可能FILE*为测试创建内存,因为我想避免与文件系统交互?如果没有,有哪些替代方案?

c file-io unit-testing

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

使用mingw交叉编译x86_64-w64的cairo

我有一个应用程序,再次链接SDL和cairo,我想在ubuntu上为win64交叉编译.我使用这篇优秀的博客文章来获取SDL交叉编译,并且我使用了另一篇博文来交叉编译zlib,libpng和libpixman.

但是,我现在在尝试编译我的最小测试程序时遇到链接器错误:

$ make cairotest.exe 
x86_64-w64-mingw32-gcc -o cairotest.o -c cairotest.c -I/usr/x86_64-w64-mingw32/include/SDL2 -Dmain=SDL_main -I/home/jshaw/x86_64-w64/include/cairo -I/home/jshaw/x86_64-w64/include/pixman-1 -I/home/jshaw/x86_64-w64/include/libpng16 
x86_64-w64-mingw32-gcc -o cairotest.exe cairotest.o -L/usr/x86_64-w64-mingw32/lib -lmingw32 -lSDL2main -lSDL2 -mwindows -L/home/jshaw/x86_64-w64/lib -lcairo 
collect2: error: ld returned 1 exit status
Makefile:13: recipe for target 'cairotest.exe' failed
Run Code Online (Sandbox Code Playgroud)

我应该提一下,如果我只使用没有任何开放代码的SDL2,这个测试程序可以正常工作,所以我怀疑我交叉编译的cairo库有问题.我该如何诊断问题呢?

linker cross-compiling cairo mingw-w64

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

从HAR文件中提取HTTP响应到文件系统

是否有一个工具可以提取出现在HTTP响应中的文档并将它们转储到文件系统,理想情况下使用原始HTTP请求中的路径和文件名?

extract har

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

java.net.URI 无法解析以数字开头的域

我有一个 URI,http://my-host.1domain:1234/path它抛出一个URISyntaxExceptionusing one URI 构造函数:

new URI("http", /*userInfo*/null, /*host*/"my-host.1domain", 1234, "/path", /*query*/null, /*fragment*/null);

Exception in thread "main" java.net.URISyntaxException: Illegal character in hostname at index 15: http://my-host.1domain:1234/path
    at java.base/java.net.URI$Parser.fail(URI.java:2974)
    at java.base/java.net.URI$Parser.parseHostname(URI.java:3517)
    at java.base/java.net.URI$Parser.parseServer(URI.java:3358)
    at java.base/java.net.URI$Parser.parseAuthority(URI.java:3277)
    at java.base/java.net.URI$Parser.parseHierarchical(URI.java:3219)
    at java.base/java.net.URI$Parser.parse(URI.java:3175)
    at java.base/java.net.URI.<init>(URI.java:708)
Run Code Online (Sandbox Code Playgroud)

但使用不同的 URI 构造函数可以正确解析:

// parses correctly
new URI("http", /*authority*/"my-host.1domain:1234", "/path", /*query*/null, /*fragment*/null);
Run Code Online (Sandbox Code Playgroud)

在 OpenJDK 17.0.1 中测试。我检查过域名可以以数字开头。那么我是否误用了 URI 构造函数,或者这是一个错误?

(背景:失败的构造函数是从UriComponentsBuilderSpring Web 中调用的,Spring Web 将其关闭为代码中的非错误

java uri

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

如何使有状态 JBehave 步骤对于多线程执行来说是安全的

目前,我正在使用 Spring 将步骤类注入到 JUnit 测试中:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration...
class MyTest extends JUnitStories {
    @Autowired private MySteps mySteps;

    public List<CandidateSteps> candidateSteps() {
        return new InstanceStepsFactory(configuration(), mySteps).createCandidateSteps();
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

我想使用多个线程运行 JBehave,因此我无法再注入单例 MySteps bean。

我已阅读http://jira.codehaus.org/browse/JBEHAVE-492,但仍然不知道如何解决我的问题。

java spring multithreading jbehave

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

是否在JDK中定义了HTTP和HTTPS默认端口号?

我试图看看端口80和端口443是否被定义为任何地方的公共常量.这些是否存在于JDK中(或者可能存在于Apache HttpClient等公共库中)?

java http

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

在Fortran PURE FUNCTION中声明和初始化局部变量

我有一个看起来像这样的函数:

PURE FUNCTION simulate(initial_state, time_specification)
        TYPE(ocean), INTENT(IN) :: initial_state
        TYPE(simulation_time), INTENT(IN) :: time_specification
        TYPE(ocean) :: simulate
        REAL :: t = 0.0      
        ! etc
END FUNCTION simulate
Run Code Online (Sandbox Code Playgroud)

gfortran 4.8.1告诉我

 REAL :: t = 0.0
                1
Error: Initialization of variable at (1) is not allowed in a PURE procedure
Run Code Online (Sandbox Code Playgroud)

据我了解,我应该能够在纯函数中使用局部变量,只要它们没有SAVE属性.那么我做错了什么?

fortran

4
推荐指数
2
解决办法
672
查看次数

-unid = c ++ 11未定义“ unix” C ++预处理程序宏

unixpreproc.cpp

#ifdef unix
#warning "unix is defined"
#endif

#ifdef __unix__
#warning "__unix__ is defined"
#endif

void main() {}
Run Code Online (Sandbox Code Playgroud)

使用Intel C ++编译器19.0.3:

icpc -o unixpreproc unixpreproc.cpp显示同时定义了unix__unix__

icpc -std=c++11 -o unixpreproc unixpreproc.cpp显示仅__unix__已定义。这是故意的吗?它没有记录在英特尔编译器手册中

c++ unix preprocessor icc c++11

4
推荐指数
2
解决办法
103
查看次数

为什么 readline() 将 stdin 回显到 stdout?

我编写了一个小型 C 程序,用于readline("")从标准输入读取输入。我没有从终端与其进行交互,而是编写了一个测试工具来执行 C 程序并为其提供输入:

test harness --stdout--> | --stdin--> C program
         ^------stdin--- | <--stdout-----/
Run Code Online (Sandbox Code Playgroud)

该测试工具正在接收其输出的回声,即使是程序本身。为什么 readline() 会回显其输入,我可以禁用它吗?或者我不应该在非交互式环境中使用 readline() 吗?

c readline

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

JPA/Hibernate typesafe DELETE查询

我见过的唯一CriteriaQuery示例是SELECT查询.有没有办法用JPA 2或Hibernate API构造类型安全的DELETE查询?

hibernate criteriaquery jpa-2.0

2
推荐指数
3
解决办法
5937
查看次数

Git忽略带有数字名称的目录

OpenFOAM使用数字名称创建时间目录,例如38.941在案例的根目录中(如OpenFOAM用户手册中所述).由于所有这些目录都是以编程方式生成的(目录中的初始条件除外0),我如何说服git忽略目录?我不知道将时间目录重定位到子目录的方法,即使我可以,这可能会扰乱相关的处理工具,如ParaView.

git

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

根据正则表达式删除$ PATH条目

我试图删除$ PATH中的条目,如果该条目包含给定的字符串foo.例如PATH=/home/me/bin:/home/foo/bin:/usr/foo/bin:/bin会成为PATH=/home/me/bin:/bin.我现在有

echo $PATH | perl -pe 's/:(.*?)foo(.*?):/:/g'
Run Code Online (Sandbox Code Playgroud)

但这似乎删除了太多的条目,即使我正在尝试使用非贪婪的匹配.我究竟做错了什么?

regex shell perl replace

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