小编jjw*_*ign的帖子

在Python3中,如何在单元测试中测试异常处理?

我正在为 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)

python python-3.x

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

正则表达式\ d是否与减号和/或小数点匹配?

我看一些旧的PERL/CGI代码来调试问题,并注意到很多用途:

\d - Match non-digit character
\D - Match digit character
Run Code Online (Sandbox Code Playgroud)

大多数在线文档都提到\ d与[0-9]相同,这是我一直认为的.但是,我也注意到Stackoverflow问题提到了字符集的差异.

正则表达式中的"\ d"是否表示数字?

\ d是否也匹配减号和/或小数点?

我要去做一些测试了.

regex perl

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

FreeTDS - 返回UTF-8字符集数据

我正在使用带有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)

php pdo iconv freetds

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

2011年:DIV还是桌子?Div/Input/Labels仍然是可行的方式,还是XHTML Tables(tables/tr/td)的风格?

DIV或TABLE?

这是前端开发人员的问题.您工作的大多数项目仍然需要无表设计,还是再次接受简单的表结构?如果是这样,桌子是否合适?数据?形式?

我记得,不到几年前,我的一位设计师朋友告诉我,我必须使用我的所有HTML/XHTML进行无桌操作.Everrrything表.那个DIV是要走的路.作为一名后端PHP/MySQL开发人员,我尝试用CakePHP项目或两个项目跳上乐队.我修改了大多数基本模板页面/结构,以便在CSS2中使用DIV.

现在我正在做更多的CodeIgniter工作......好吧,我现在正在使用包含大部分表单的表格.我和Divs有一些问题.表格结构更加结构化,使我的问题更少(IE6).这被认为是"糟糕的代码"吗?我正在为之工作的公司有一个隐瞒的形象.

谢谢,杰夫

编辑:请不要降级问题.这是一个非设计师需要做前端工作的合理问题.也许我应该问,"在XHTML/CSS2中使用表格哪里适合?"

html css php xhtml

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

标签 统计

php ×2

css ×1

freetds ×1

html ×1

iconv ×1

pdo ×1

perl ×1

python ×1

python-3.x ×1

regex ×1

xhtml ×1