我正在为 api 进行几个单元测试。测试使用 @patch 来模拟 api 调用。我希望创建的一些测试应该会触发异常。我如何在单元测试中处理这个问题?
这是我到目前为止所拥有的。Pylint 抱怨 assertTrue() 语句。我确信有更好的方法来处理异常。
@patch('myapi.myapi.requests.request')
def test_auth_failure(self, mock_request):
# Configure the request mock to return an auth failure
# Auth/login (/session) failures return status 200, but without a token!
mock_request.return_value.status_code = 200
mock_request.return_value.content = json.dumps(self.mock_auth_failure)
try:
# Call auth()
self.api.auth()
# Exception should have been raised
self.assertTrue(False)
except exceptions.HTTPUnauthorized:
# Exception caught
self.assertTrue(True)
Run Code Online (Sandbox Code Playgroud)
附加信息:这是从unittest.TestCase 扩展的类中。例子:
class MyApiTests(unittest.TestCase):
Run Code Online (Sandbox Code Playgroud) 我看一些旧的PERL/CGI代码来调试问题,并注意到很多用途:
\d - Match non-digit character
\D - Match digit character
Run Code Online (Sandbox Code Playgroud)
大多数在线文档都提到\ d与[0-9]相同,这是我一直认为的.但是,我也注意到Stackoverflow问题提到了字符集的差异.
\ d是否也匹配减号和/或小数点?
我要去做一些测试了.
我正在使用带有PHP PDO的MS SQL Server 2008:我有一个PHP PDO类,它采用Windows字符集并手动将数据转换为UTF-8.就像是:
$sql = "SELECT * FROM something_somewhere);
$query = $this->db->query($sql);
$result = $query->fetchAll(PDO::FETCH_OBJ);
foreach ($result as $row) {
foreach (get_object_vars($row) as $key => $value) {
$row->$key = (mb_detect_encoding($value, mb_detect_order(), true) === 'UTF-8')
? $value : iconv('iso-8859-1', 'utf-8', $value);
}
$results[] = $row;
Run Code Online (Sandbox Code Playgroud)
}
iconv()效果很好,但是一直写这个很乏味.反正有没有配置FreeTDS转换为UTF-8?
我正在阅读关于Moodle的FreeTDS配置:
https://docs.moodle.org/22/en/FreeTDS
我当前的/etc/freetds.conf文件(不可编辑,所以我必须让管理员更改它):
# $Id: freetds.conf,v 1.12 2007/12/25 06:02:36 *** Exp $
#
# This file is installed by FreeTDS if no file by the same
# name is found in …Run Code Online (Sandbox Code Playgroud) DIV或TABLE?
这是前端开发人员的问题.您工作的大多数项目仍然需要无表设计,还是再次接受简单的表结构?如果是这样,桌子是否合适?数据?形式?
我记得,不到几年前,我的一位设计师朋友告诉我,我必须使用我的所有HTML/XHTML进行无桌操作.Everrrything表.那个DIV是要走的路.作为一名后端PHP/MySQL开发人员,我尝试用CakePHP项目或两个项目跳上乐队.我修改了大多数基本模板页面/结构,以便在CSS2中使用DIV.
现在我正在做更多的CodeIgniter工作......好吧,我现在正在使用包含大部分表单的表格.我和Divs有一些问题.表格结构更加结构化,使我的问题更少(IE6).这被认为是"糟糕的代码"吗?我正在为之工作的公司有一个隐瞒的形象.
谢谢,杰夫
编辑:请不要降级问题.这是一个非设计师需要做前端工作的合理问题.也许我应该问,"在XHTML/CSS2中使用表格哪里适合?"