- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
定义一个 Nose 测试方法test_circlearea_with_min_radius
,它创建一个半径为0的圆c2
并检查其计算面积是否与值0匹配
我已经编写了下面提到的代码,但仍然没有得到所需的输出:
import math
from circle import Circle
from nose.tools import assert_raises
from nose.tools import assert_equal
class Circle:
def __init__(self,radius):
if not isinstance(radius,(int,float)):
raise TypeError("radius must be a number")
if not 1000>=radius>=0:
raise ValueError("radius must be between 0 and 1000 inclusive")
self.radius = radius
def area(self):
return round(math.pi*self.radius**2,2)
def circumference(self):
return round(2*math.pi*self.radius,2)
class TestCircleArea:
def test_circlearea_with_random_numeric_radius(self):
c1=Circle(2.5)
assert_equal(c1.area(),19.63)
def test_circlearea_with_min_radius(self):
c2=Circle(0)
assert_equal(c2.area(),0)
1 Câu trả lời
要运行测试,您必须使用nose
执行该文件;你不能像普通的 python 脚本一样执行它。例如,如果您帖子中的代码位于名为 test.py
的文件中,您可以运行以下命令:
nosetests test.py
如果运行命令kiểm tra python.py
,您将不会得到任何输出。根据您命名文件的方式等,您应该能够不带参数运行nosetests,并且nose的测试发现应该足够智能,可以找到您的测试类并运行测试。另外,请确保在运行测试之前导入/定义 Circle
类,否则您会收到错误消息。
如果您尝试自己编写 Circle
类,并且希望使用 TDD 以有趣的方式构建它,您可以从以下内容开始:
class Circle:
def __init__(*args):
vượt qua
def area(self):
vượt qua
from nose.tools import assert_equals
class TestCircleArea:
def test_circlearea_with_random_numeric_radius(self):
c1=Circle(0)
assert_equals(c1.area(),0)
这会给你一个失败的测试,你可以从那里开始构建 area()
方法的功能,going from red (failing test) to green (passing test) .
关于python - 在 Nose 测试类中定义 Nose 测试方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55558578/
Tôi đang xử lý một tập hợp gồm 173 nghìn điểm được dán nhãn thành 160 nhóm. Tôi muốn giảm số lượng nhóm/cụm bằng cách sáp nhập những nhóm/cụm gần nhất (còn 9 hoặc 10 nhóm). Tôi đã tìm kiếm sklearn hoặc các thư viện tương tự nhưng không thành công. Tôi đoán nó chỉ là sự nhóm lại thông qua knn
Tôi có một danh sách phẳng các số được nhóm hợp lý thành các nhóm 3, trong đó mỗi bộ ba là (số, __bỏ qua, cờ[0 hoặc 1]), ví dụ: [7,56,1, 8,0,0, 2,0,0, 6,1,
Tôi đang sử dụng pipenv để quản lý các gói của mình. Tôi muốn viết một tập lệnh python để gọi một tập lệnh python khác sử dụng môi trường ảo (VE) khác. Cách chạy một tập lệnh python bằng VE1 và gọi một tập lệnh khác
Giả sử tôi có một tệp script.py nằm ở đường dẫn = "foo/bar/script.py". Tôi đang tìm cách thực thi các tập lệnh trong Python từ Python chính của tôi
Điều này nghe có vẻ giống như một câu đố hay một trò đùa, nhưng thực ra tôi vẫn chưa tìm ra câu trả lời cho câu hỏi này. Vấn đề thực sự là gì? Tôi muốn chạy 2 tập lệnh. Trong tập lệnh đầu tiên, tôi gọi tập lệnh kia, nhưng tôi muốn chúng tiếp tục song song, chứ không phải thành hai luồng riêng biệt. Chủ yếu là tôi không muốn
Tôi có một phần mềm sử dụng python 2.5.5. Tôi muốn gửi lệnh để bắt đầu một tập lệnh trong python 2.7.5 và sau đó tiếp tục thực thi tập lệnh đó. Tôi đã thử sử dụng #!python2.7.5 và http://re
Tôi đang ở dòng lệnh python (sử dụng python 2.7) và đang cố gắng chạy một tập lệnh Python. Hệ điều hành của tôi là Windows 7. Tôi đã thiết lập thư mục của mình thành thư mục chứa tất cả các tập lệnh của tôi bằng cách sử dụng: os.chdir("
Spoiler: Đã giải quyết một phần (xem phần cuối). Sau đây là một ví dụ mã sử dụng nhúng Python: #include int main(int argc, char** argv) { Py_SetPythonHome
Giả sử tôi có danh sách sau, tương ứng với giá cổ phiếu theo thời gian thực: giá = [1, 3, 7, 10, 9, 8, 5, 3, 6, 8, 12, 9, 6, 10, 13, 8, 4, 11] Tôi muốn xác định giá trị tốt nhất tổng thể sau đây
Vì vậy, tôi đang cố gắng thay đổi hình nền của khung này khi một nút radio nào đó được chọn. Khung của tôi nằm bên trong một lớp và chức năng của các nút radio nằm bên ngoài lớp đó. (Để tôi có thể gọi chúng trên tất cả các khung khác.) Vấn đề là bất cứ khi nào tôi chọn một nút radio, tôi nhận được lỗi sau:
Tôi đang cố gắng so sánh một chuỗi với một biểu thức chính quy trong python như sau, #!/usr/bin/env python3 import re str1 = "Expecting property name
Hãy xem xét mô-đun Boost.Python nguyên mẫu sau đây nhập lớp "D" từ một tệp tiêu đề C++ riêng biệt. /* tập tin: a/b.cpp */ BOOST_PYTHON_MODULE(c)
Làm thế nào để viết một chương trình để "xác định số dòng của lệnh gọi hàm?" Mô-đun kiểm tra của Python cung cấp tùy chọn để xác định vị trí số dòng, tuy nhiên, def di(): return inspect.currentframe().f_back.f_l
Tôi đã cài đặt Python 2.7 bằng macports và do biến $PATH của tôi nên đây là những gì tôi nhận được khi nhập $ python. Tuy nhiên, virtualenv sử dụng Python 2.6 theo mặc định, ngoại trừ
Tôi chỉ muốn hỏi làm thế nào để tăng tốc độ tìm kiếm trên python. Tôi có một chuỗi ký tự rất dài, dài 176861 (tức là các ký tự chữ và số có một số ký hiệu) mà tôi đã thử nghiệm cho mục đích nghiên cứu bằng cách sử dụng hàm này: def getExe
list1 = [u'%app%%General%%%Council%', u'%people%', u'%people%%Regional%%%Council%%Mandate%', u'%ppp%%Ge
Câu hỏi này đã có câu trả lời tại đây: Có phải Pythonic sử dụng danh sách hiểu biết chỉ cho các tác dụng phụ không? (7 câu trả lời) Đã đóng 4 tháng trước. kể
Tôi muốn kết hợp hai danh sách thành một danh sách trong Python như sau: a = [1,1,1,2,2,2,3,3,3,3] b = ["Sun", "is", "bright", "June","and" ,"Ju
Tôi đang chạy Mac OS X 10.8.4 (Darwin 12.4.0) với bản phân phối Boost mới nhất (1.55.0). Tôi đang làm theo hướng dẫn ở đây để xây dựng hướng dẫn Boost-Pyth có trong bản phân phối của tôi
Tôi đang học Python và đang cố gắng tạo một trình thu thập dữ liệu web mà không cần bất kỳ thư viện của bên thứ 3 nào nên quy trình không được đơn giản hóa đối với tôi và tôi biết mình đang làm gì. Tôi đã tìm kiếm một số tài liệu trực tuyến nhưng tất cả đều khiến tôi bối rối về một điều gì đó. html trông giống như
Tôi là một lập trình viên xuất sắc, rất giỏi!