小编paf*_*de2的帖子

Py.test:从类中参数化测试用例

我目前正在关注这个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测试?

python automated-tests unit-testing pytest

17
推荐指数
2
解决办法
5251
查看次数

从Scheme(Guile)执行命令行

问题在标题上描述,基本上我想从scheme执行一个命令行,让我们说'ls'并获得输出.所以我的问题是:

  • 可能吗?
  • 怎么样?

非常感谢提前!

顺便说一下,我使用Guille.

scheme command-line guile

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

使用writeValueAsString序列化对象后,Jackson反序列化失败

我使用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的答复解决了此问题。但是,我也想避免使用默认构造函数。

java serialization jackson deserialization spring-boot

6
推荐指数
3
解决办法
4489
查看次数

PHP - 使用NO数据库存储信息

我将改进Apache和PHP中的一个网站,该网站的页面包含一个包含文件列表的表.我的目标是允许用户根据某些特定和主观标准将其中一个文件设置为"重要"文件.为了做到这一点,我想以某种方式存储关于最"重要"文件的信息,但限制是我既不能使用数据库也不能使用文件(主管强加的约束).

我的问题是:

  • 可能吗?
  • 我怎样才能做到这一点?

我已经在这个网站上搜索过了,但我找不到答案.

编辑:顺便说一句,最后我使用XML文件解决了我的问题.非常感谢大家.

php apache storing-data

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

从 .jar 文件创建项目

我将解释我需要做什么,事实上我找到了这个答案Restoring code from JAR,它非常接近我的需求,但有一个关键的区别。

我拥有的是一个包含许多 jar 文件的文件夹,其中包括应用程序的 .class 和 .java 文件,我想将项目恢复到任何 IDE(例如 Eclipse 或 netbeans)中。

为了更清楚地说明,我的结构如下:

  • 主目录
    • 文件_1.jar
      • 文件_1_1.java
      • 文件_1_1.class
      • 文件_1_2.java
      • 文件_1_2.class
    • 文件_2.jar
      • 文件_2_1.java
      • file_2_1.class
      • 文件_2_2.java
      • file_2_2.class

我真的很感激任何建议,但我想避免使用反编译器。

最好的。-

java eclipse jar

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

gnuplot:没有足够的列可变颜色

我正在执行以下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)

linux runtime-error gnuplot

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

使用gprof配置非终止C程序

我正在尝试使用gprof配置程序.关键是,在某些情况下,程序本身并没有完成,而是使用Linux执行时间限制.在这种情况下,不会生成文件'gmon.out'.

我想知道是否存在一种获取某种分析信息的方法,即使在程序超时结束的情况下也是如此.至于我读到这里是不可能的,所以我会很感激地对在我的问题有任何意见或建议.

提前致谢!

c linux profiling timeout gprof

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

jOOQ持续集成方法

我使用jOOQ设置了一个Java项目.目前,我们即将在Jenkins上创建CI管道.

理想情况下,我们不希望在repo上提交生成的代码,而是在构建过程中生成代码.但是,jOOQ需要连接到数据库才能生成代码.

第一种方法是允许Jenkins连接到数据库.如果我们被禁止访问Jenkins的数据库,我们应该考虑哪些方法?

任何评论或提示都受到欢迎,非常感谢.

java continuous-integration jooq jenkins

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

将没有 ZonedId 的字符串转换为 OffsetDateTime

我想将字符串转换为 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 个额外的转换,我想避免这些额外的转换。

任何帮助将不胜感激。

java datetime timezone-offset zoneddatetime

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