小编Ton*_*has的帖子

如何在目录中运行所有Python单元测试?

我有一个包含我的Python单元测试的目录.每个单元测试模块的形式为test _*.py.我正在尝试创建一个名为all_test.py的文件,您猜对了,运行上述测试表单中的所有文件并返回结果.到目前为止,我尝试了两种方法; 都失败了.我将展示这两种方法,我希望那里的人知道如何正确地做到这一点.

对于我的第一次勇敢的尝试,我想"如果我只是在文件中导入我的所有测试模块,然后调用这个unittest.main()doodad,它会工作,对吧?" 好吧,事实证明我错了.

import glob
import unittest

testSuite = unittest.TestSuite()
test_file_strings = glob.glob('test_*.py')
module_strings = [str[0:len(str)-3] for str in test_file_strings]

if __name__ == "__main__":
     unittest.main()
Run Code Online (Sandbox Code Playgroud)

这不起作用,我得到的结果是:

$ python all_test.py 

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
Run Code Online (Sandbox Code Playgroud)

对于我的第二次尝试,我可以,也许我会尝试以更"手动"的方式完成整个测试.所以我试着在下面这样做:

import glob
import unittest

testSuite = unittest.TestSuite()
test_file_strings = glob.glob('test_*.py')
module_strings = [str[0:len(str)-3] for str in test_file_strings]
[__import__(str) for str in module_strings]
suites = [unittest.TestLoader().loadTestsFromName(str) for str in module_strings]
[testSuite.addTest(suite) for suite in suites]
print …
Run Code Online (Sandbox Code Playgroud)

python testing unit-testing python-unittest

268
推荐指数
10
解决办法
18万
查看次数

如何在RecyclerView中制作粘性标题?(没有外部库)

我想在屏幕顶部修复我的标题视图,如下图所示,而不使用外部库.

在此输入图像描述

就我而言,我不想按字母顺序进行.我有两种不同类型的视图(标题和正常).我只想修复顶部,最后一个标题.

android header sticky android-recyclerview

106
推荐指数
6
解决办法
8万
查看次数

如何将numpy.matrix或数组转换为scipy稀疏矩阵

对于SciPy稀疏矩阵,可以使用todense()toarray()转换为NumPy矩阵或数组.反向的功能是什么?

我搜索过,但不知道哪些关键字应该是正确的.

python numpy scipy sparse-matrix

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

如何修改KeyValuePair值?

当我尝试修改项目的值时,我遇到了一个问题,因为它只是一个只读字段.

KeyValuePair<Tkey, Tvalue>
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的替代品,如:

Dictionary<Tkey, Tvalue>
Run Code Online (Sandbox Code Playgroud)

但我有同样的问题.有没有办法将值字段设置为新值?

.net c#

62
推荐指数
3
解决办法
7万
查看次数

为什么Python中的函数可以在封闭范围内打印变量但不能在赋值中使用它们?

如果我运行以下代码:

x = 1

class Incr:
    print(x)
    x = x + 1
    print(x)

print(x)
Run Code Online (Sandbox Code Playgroud)

它打印:

1
2
1
Run Code Online (Sandbox Code Playgroud)

没问题,这正是我的预期.如果我做以下事情:

x = 1

class Incr:
    global x
    print(x)
    x = x + 1
    print(x)

print(x)
Run Code Online (Sandbox Code Playgroud)

它打印:

1
2
2
Run Code Online (Sandbox Code Playgroud)

也是我所期待的.没有问题.

现在,如果我开始按如下方式创建增量函数:

x = 1

def incr():
    print(x)

incr()
Run Code Online (Sandbox Code Playgroud)

它按照我的预期打印1.我假设它这样做是因为它无法x在其本地范围内找到,因此它搜索其封闭范围并找到x它.到目前为止没有问题.

如果我这样做:

x = 1

def incr():
    print(x)
    x = x + 1

incr()
Run Code Online (Sandbox Code Playgroud)

这在回溯中给出了以下错误:

UnboundLocalError:赋值前引用的局部变量'x'.

为什么Python不只是搜索封闭空间,x因为它找不到x像我class Incr一样用于赋值的值?请注意,我不是在问这个功能如何工作.我知道如果我执行以下操作,该功能将起作用:

x = 1

def incr(): …
Run Code Online (Sandbox Code Playgroud)

python scope

25
推荐指数
2
解决办法
6229
查看次数

如何使用OpenCV在Python中找到图像的平均颜色?

我试过这段代码:

import cv2
image = cv2.imread("sample.jpg")
pixel = image[200, 550]
print pixel
Run Code Online (Sandbox Code Playgroud)

但我得到的错误是:

'Nonetype'没有属性错误getitem

执行第三行代码后会显示此错误.

python opencv numpy image-processing scikit-image

24
推荐指数
3
解决办法
4万
查看次数

Rails/RSpec:如何测试#initialize方法?

如何#initialize使用RSpec 指定行为?例如这里:

generator.rb

class Generator
  attr_accessor :seed

  def initialize(seed = nil)
    @seed = seed || pick_seed
  end

  def pick_seed
    Time.now.to_i
  end
end
Run Code Online (Sandbox Code Playgroud)

generator_spec.rb

require 'generator'

describe Generator

  it "calls 'pick_seed' method unless seed specified" do
  end

end
Run Code Online (Sandbox Code Playgroud)

我想设置pick_seed#initialize方法调用的方法的期望.

ruby rspec2

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

如何在Python中将数字转换为单词

我需要将数字从1-99变成单词.这是我到目前为止所得到的:

num2words1 = {1: 'One', 2: 'Two', 3: 'Three', 4: 'Four', 5: 'Five', \
            6: 'Six', 7: 'Seven', 8: 'Eight', 9: 'Nine', 10: 'Ten', \
            11: 'Eleven', 12: 'Twelve', 13: 'Thirteen', 14: 'Fourteen', \
            15: 'Fifteen', 16: 'Sixteen', 17: 'Seventeen', 18: 'Eighteen', 19: 'Nineteen'}
num2words2 = ['Twenty', 'Thirty', 'Forty', 'Fifty', 'Sixty', 'Seventy', 'Eighty', 'Ninety']

def number(Number):

    if (Number > 1) or (Number < 19):
        return (num2words1[Number])
    elif (Number > 20) or (Number < 99):
        return (num2words2[Number])
    else:
        print("Number Out Of …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

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

numpy测试断言数组不相等

我们必须numpy.testing.assert_array_equal断言两个数组相等.

但是,最好的方法是做什么numpy.testing.assert_array_not_equal,即确保两个数组不相等?

python numpy python-unittest

16
推荐指数
3
解决办法
4810
查看次数

C++继承类具有同名成员

在C++中,您可以将成员放在基类中,并在继承的类中使用相同名称的成员.

如何访问继承类中的特定类?

c++ class base

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