小编san*_*ash的帖子

Junit 测试正常运行但因 ecobertura 失败 - 需要但未调用 appender.doAppend(<Capturing argument>);

以下代码:

@Mock
private Appender mockAppender;
@Captor
private ArgumentCaptor<LoggingEvent> captorLoggingEvent;
...
verify(mockAppender, atLeastOnce()).doAppend(captorLoggingEvent.capture());
Run Code Online (Sandbox Code Playgroud)

作为 JUnit 测试正常运行,但使用 ecobertura 失败并显示以下消息:

Wanted but not invoked:
appender.doAppend(<Capturing argument>);...Actually, there were zero interactions with this mock.
Run Code Online (Sandbox Code Playgroud)

我正在使用 :

  • 日食 STS
  • JRE(jdk1.6.0_41)
  • junit-4.11.jar
  • powermock-module-junit4-common-1.5.1.jar
  • powermock-module-junit4-1.5.1.jar
  • powermock-reflect-1.5.1.jar
  • mockito-core-1.9.5.jar

你能帮我解决这个问题吗?

java eclipse junit4 powermock ecobertura

5
推荐指数
0
解决办法
431
查看次数

如何向Celery Beat动态添加计划任务

我正在使用Celery 3.1.23版,将动态计划的任务动态添加到芹菜节拍中。我有一名芹菜工作者和一名芹菜节拍实例正在运行。

运行task.delay()可以触发标准的芹菜任务。当我将计划的定期任务定义为配置中的设置时,芹菜节拍将其运行。

但是,我需要的是能够添加在运行时在指定的crontab上运行的任务。将任务添加到持久性调度程序后,芹菜节拍似乎无法检测到新添加的新任务。我可以看到celery-schedule文件确实有一个包含新任务的条目。

码:

scheduler = PersistentScheduler(app=current_app, schedule_filename='celerybeat-schedule')
scheduler.add(name="adder",
          task="app.tasks.add",
          schedule=crontab(minute='*/1'),
          args=(1,2))
scheduler.close()
Run Code Online (Sandbox Code Playgroud)

当我跑步时:

print(scheduler.schedule)
Run Code Online (Sandbox Code Playgroud)

我得到:

{'celery.backend_cleanup': <Entry: celery.backend_cleanup celery.backend_cleanup() <crontab: 0 4 * * * (m/h/d/dM/MY)>,
'adder': <Entry: adder app.tasks.add(1, 2) <crontab: */1 * * * * (m/h/d/dM/MY)>}
Run Code Online (Sandbox Code Playgroud)

请注意,app.tasks.add具有@celery.task装饰器。

python celery python-3.x celerybeat

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

python3中“dict_value”和“dict_key”的用法

dict = {'a':1, 'b':2}

dict.keys给出dict_keys(['a', 'b'])

dict.values给出dict_values([1, 2]).

有人可以举例说明如何使用dict_keysdict_values派上用场吗?为什么字典返回这些类型而不是只返回列表?

我经常做list(dict.keys)and list(dict.values),转换成一个列表来循环。

python dictionary

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

tensorflow, tf.while_loop: 这两个结构没有相同的嵌套结构

我试图构建一个嵌套循环,用于创建一个二维零矩阵来解决 LCS 问题(动态规划)。这稍后用于计算 Rouge-L 分数(输入是张量,而不是字符串),但它总是出错ValueError: The two structures don't have the same nested structure.

我查了一些类似的问题并修改了一些代码,但它仍然不起作用(我放在这里的代码是最终代码):

  1. 我改变了 shape_invariants。我现在使用 len(inner) 来动态获取内部的形状。
  2. 还是shape_invariants,我现在把1改成0(shape_invariants的第一个参数)。我认为标量的形状是 1,但我在 github 上查看了一些源代码,发现它全部使用 0。

# the origin code is below, in which sub and string are both string(type), len_sub and len_string are both int:

lengths = [[0 for i in range(0,len_sub+1)] for j in range(0,len_string+1)]

# but in the new code that I need, the sub and string are both tensor, so I code like this:

len_string = tf.shape(string)[0] …
Run Code Online (Sandbox Code Playgroud)

python deep-learning tensorflow

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

如何在带有if语句的构造函数中声明最终String?

我曾经在构造函数中声明了最终的String。现在,我想插入一个if语句,以便在需要时进行不同的声明。

我曾经做:

public Config(){
    final String path = "<path>";
    doSomething(path);
}
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试

public Config(String mode){
    if (mode = "1") {
        final String path = "<path1>";
    } else {
        final String path = "<path2>";
    }
    doSomething(path);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,现在无法找到路径(找不到符号错误),我对研究的理解真的使我迷失了。但是,以下作品,我只是无法解释...我必须对这里的事物有深刻的怀念。

public Config(String mode){
    final String path;
    if (mode = "1") {
        path = "<path1>";
    } else {
        path = "<path2>";
    }
    doSomething(path);
}
Run Code Online (Sandbox Code Playgroud)

您能解释一下这里发生了什么吗,我应该读什么才能得到这个。

java constructor if-statement final

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

如何注释可以实现为属性的属性?

我试图让 mypy 对我的类型注释感到满意。这是最小的例子:

class FooInterface:
    x: int


class FooWithAttribute(FooInterface):
    x: int = 0


class FooWithProperty(FooInterface):
    @property
    def x(self) -> int:
        return 0
Run Code Online (Sandbox Code Playgroud)

为了我的人的理解,一切都很好:既有FooWithAttribute().xFooWithProperty().x将返回0int,没有类型的错误。然而 mypy 抱怨:

error: Signature of "x" incompatible with supertype "FooInterface"

有没有办法告诉mypy一切正常?现在我发现唯一的办法就是标注x: typing.AnyFooInterface其废物x是INT的信息。

python properties typing mypy

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

如何检查Python枚举中的项目顺序?

我有一个enum.Enum子类:

class MyEnum(Enum):
    A = "apple"
    C = "cherry"
    B = "banana"
Run Code Online (Sandbox Code Playgroud)

并且我希望能够使用<>查看给定成员是否按定义顺序排在另一个成员之前或之后,因此我可以执行以下操作:

>>> MyEnum.A < MyEnum.B
True
>>> MyEnum.B >= MyEnum.C
True
>>> MyEnum.C < MyEnum.A
False
Run Code Online (Sandbox Code Playgroud)

基于值在枚举的定义中出现的位置,而不是枚举值本身。我知道枚举会保留顺序,但是无法找到最先出现的顺序。如何在Python 3.7中完成此操作?

python enums

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

nargs &gt; 1 的位置参数的元组元变量值

似乎将元组设置为metavar位置参数并请求帮助不起作用:

import argparse


parser = argparse.ArgumentParser()
parser.add_argument('size', type=int, nargs=2, help='size', metavar=('w', 'h'))

args = parser.parse_args()
print(args)
Run Code Online (Sandbox Code Playgroud)

当调用 as 时,这会产生错误prog.py --help。该错误在 Python3 版本之间有所不同(我尝试了 3.5、3.6、3.8)并且包含ValueError: too many values to unpack (expected 1)TypeError: sequence item 0: expected str instance, tuple found请参阅 Wandbox 上的实例

对于可选参数,一切都很好:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--size', type=int, nargs=2, help='size', metavar=('w', 'h'))

args = parser.parse_args()
print(args)
Run Code Online (Sandbox Code Playgroud)

Wandbox 上的实例

我的代码是否无效,或者我是否在 Python 实现中发现了错误?

请注意,简单地解析参数就可以按预期工作。

python argparse python-3.x

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

正确地将 shapely 安装到系统解释器中以避免段错误

现在我有以下代码,该代码因段错误而崩溃:

from shapely import geometry

print(geometry.Polygon([[0, 0], [0, 1], [1, 1], [1, 0]]))
Run Code Online (Sandbox Code Playgroud)

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

我尝试重新安装 shapely,python3.7 -m pip install -U shapely --no-cache 但没有任何效果。我的环境是任何虚拟环境之外的 Ubuntu 18.04 和 Python 3.7。因此,有关将 shapely 安装到 anaconda 环境中的其他问题对我没有帮助。关于如何塑造优美的工作有什么建议吗?

python segmentation-fault shapely

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

用swift获取当前部分UITableView

请帮忙!我不能得到一个快速部分我使用代码

var section = tableView.visibleCells (). first? .section

但由于某种原因,他回归我

uitableview ios swift

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