我目前正在关注这个py.test示例,当我不使用类时,它会工作,但是当我将测试用例引入类时,我失败了.
我设法编写的最小案例如下:
import unittest
import pytest
class FixtureTestCase(unittest.TestCase):
@pytest.mark.parametrize("test_input,expected", [
("3+5", 8),
("2+4", 6),
("6*9", 42),
])
def test_1(self, a, b):
self.assertEqual(a, b)
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我执行
py.test test_suite.py
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
TypeError: test_1() takes exactly 3 arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
如何生成一系列test_1测试?
问题在标题上描述,基本上我想从scheme执行一个命令行,让我们说'ls'并获得输出.所以我的问题是:
非常感谢提前!
顺便说一下,我使用Guille.
我使用com.fasterxml.jackson.databind.ObjectMapper类(com.fasterxml.jackson.core:jackson-databind:2.9.5)我试图反序列化以下类的对象:
class MyClass {
String name;
MyClass(String name) {
this.name = name;
}
}
Run Code Online (Sandbox Code Playgroud)
我当前正在执行的代码如下:
MyClass myClass = new MyClass("test");
objectMapper.registerModule(new ParameterNamesModule())
.registerModule(new Jdk8Module())
.registerModule(new JavaTimeModule())
.configure(FAIL_ON_UNKNOWN_PROPERTIES, false)
.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
String text = objectMapper.writeValueAsString(myClass);
objectMapper.readValue(text, MyClass.class);
Run Code Online (Sandbox Code Playgroud)
在最后一行失败并引发异常:
com.fasterxml.jackson.databind.exc.MismatchedInputException:无法构造
com.pckge.MyClass(尽管存在至少一个Creator)的实例:无法从[来源:(String)“ {” name“:” test“}”; 行:1,列:2]
我的目标是配置对象映射器,以便在MyClass的构造函数上不使用批注(例如JsonCreator或JsonProperties)的情况下成功反序列化对象:
非常感谢!
编辑1:@Dean的答复解决了此问题。但是,我也想避免使用默认构造函数。
我将改进Apache和PHP中的一个网站,该网站的页面包含一个包含文件列表的表.我的目标是允许用户根据某些特定和主观标准将其中一个文件设置为"重要"文件.为了做到这一点,我想以某种方式存储关于最"重要"文件的信息,但限制是我既不能使用数据库也不能使用文件(主管强加的约束).
我的问题是:
我已经在这个网站上搜索过了,但我找不到答案.
编辑:顺便说一句,最后我使用XML文件解决了我的问题.非常感谢大家.
我将解释我需要做什么,事实上我找到了这个答案Restoring code from JAR,它非常接近我的需求,但有一个关键的区别。
我拥有的是一个包含许多 jar 文件的文件夹,其中包括应用程序的 .class 和 .java 文件,我想将项目恢复到任何 IDE(例如 Eclipse 或 netbeans)中。
为了更清楚地说明,我的结构如下:
我真的很感激任何建议,但我想避免使用反编译器。
最好的。-
我正在执行以下gnuplot脚本:
set title "Efficiency scatter plot"
set xlabel "perf_1"
set ylabel "secondary report"
set log x
set log y
set xrange [0.1:40.0]
set yrange [0.1:40.0]
set terminal png medium
set output "./graph1.png"
set size square
set multiplot
set pointsize 0.3
set style line 6 pt 6
set datafile separator ","
set border 3
set xtics nomirror
set ytics nomirror
plot '/tmp/data.csv' using 3:1 with points pt 1 lt 3 lc var title "perf_20140113131309", \
'/tmp/data.csv' using 3:2 with points pt …Run Code Online (Sandbox Code Playgroud) 我使用jOOQ设置了一个Java项目.目前,我们即将在Jenkins上创建CI管道.
理想情况下,我们不希望在repo上提交生成的代码,而是在构建过程中生成代码.但是,jOOQ需要连接到数据库才能生成代码.
第一种方法是允许Jenkins连接到数据库.如果我们被禁止访问Jenkins的数据库,我们应该考虑哪些方法?
任何评论或提示都受到欢迎,非常感谢.
我想将字符串转换为 OffsetDateTime 数据类型。字符串具有以下形状:
2017-11-27T19:06:03
Run Code Online (Sandbox Code Playgroud)
我尝试了两种方法:
方法一
public static OffsetDateTime convertString(String timestamp) {
java.time.format.DateTimeFormatter formatter = new java.time.format.DateTimeFormatterBuilder()
.parseCaseInsensitive()
.append(java.time.format.DateTimeFormatter.ISO_LOCAL_DATE)
.appendLiteral('T')
.appendValue(HOUR_OF_DAY, 2)
.appendLiteral(':')
.appendValue(MINUTE_OF_HOUR, 2)
.optionalStart()
.appendLiteral(':')
.appendValue(SECOND_OF_MINUTE, 2)
.toFormatter();
return OffsetDateTime.parse(timestamp, formatter);
}
Run Code Online (Sandbox Code Playgroud)
方法二:
public static OffsetDateTime convertString(String timestamp) {
java.time.format.DateTimeFormatter parser = java.time.format.DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss");
java.time.LocalDateTime dt = java.time.LocalDateTime.parse(timestamp, parser);
ZonedDateTime zdt = ZonedDateTime.of(dt, java.time.ZoneId.of("UTC"));
return OffsetDateTime.from(zdt);
}
Run Code Online (Sandbox Code Playgroud)
第一种方法不起作用,因为它抱怨以下内容:
java.time.format.DateTimeParseException:无法解析文本“2017-11-27T19:02:42”:无法从 TemporalAccessor 获取 OffsetDateTime:{},ISO 解析为 java 类型的 2017-11-27T19:02:42 .time.format.Parsed
据我所知,它来自字符串没有 ZoneId 的事实。如何在格式化程序上覆盖 ZoneId 以忽略它?
第二种方法来自这个问题并且有效,但它需要 2 个额外的转换,我想避免这些额外的转换。
任何帮助将不胜感激。