小编Gab*_*abe的帖子

覆盖Python mock的补丁装饰器

我有一个Python TestCase类,除了一个测试方法之外,所有测试方法都需要以相同的方式修补对象.另一种方法需要来自同一对象的一些其他行为.我正在使用模拟,所以我做了:

@mock.patch('method_to_patch', mock.Mock(return_value=1))
class Tests(TestCase):

    @mock.patch('method_to_patch', mock.Mock(return_value=2))
    def test_override(self):
         (....)
Run Code Online (Sandbox Code Playgroud)

但那不起作用.当test_override运行时,它仍然要求从类装饰修补的行为.

经过大量的调试后,我发现在TestSuite构建期间,@patch周围的周围test_override被调用Tests,并且由于mock按顺序应用补丁,类装饰器会覆盖方法装饰器.

这个订单是否正确?我期待相反的情况,我不确定如何覆盖修补...也许有一个with声明?

python testing mocking

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

自己做一个小项目的最佳实践

我一直在小公司工作,大多数都在做小型网站,而且他们都参与了项目管理.

这意味着我在开发项目时没有任何经验(尽管我自学了一点)关于最佳实践和工具.

目前我失业以完成大学学业,我决定参加一个小型PHP项目,主要是学习语言和项目管理.
这只是我对网站的一个想法,我不需要从中获取金钱而且它不大,所以我不关心最后期限或商业计划,或者主要目标.主要目标是学习技术资料.

我唯一关心的是做正确的事,你知道,PHP的最佳实践,服务器设置,安全性,工作的工具.

我不是要求在任何点上完全破坏,就像这样的事情

  • 请记住始终清理用户输入
  • 使用此工具管理版本
  • 请记住设置此apache选项
  • 这是一个关于如何组织文件的良好链接

像这样的事情将会有很大的帮助!
谢谢

language-agnostic project-management

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

调用外部函数而不发送'self'arg

我正在为Django应用程序编写测试,并在我的测试类中使用一个属性来存储它应该测试的视图,如下所示:

# IN TESTS.PY
class OrderTests(TestCase, ShopTest):
    _VIEW = views.order

    def test_gateway_answer(self):
        url = 'whatever url'
        request = self.request_factory(url, 'GET')
        self._VIEW(request, **{'sku': order.sku})


# IN VIEWS.PY
def order(request, sku)
    ...
Run Code Online (Sandbox Code Playgroud)

我的猜测是我遇到的问题是因为我正在调用OrderTests类的属性,python假设我想发送self然后order得到错误的参数.容易解决...只是不要将它用作类属性,但我想知道是否有办法告诉python在这种情况下不发送自我.

谢谢.

python

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

如何从文件中读取一行?

我必须读取一个txt文件,其中的行格式如下:

1: (G, 2), (F, 3)
2: (G, 2), (F, 3)
3: (F, 4), (G, 5)
4: (F, 4), (G, 5)
5: (F, 6), (c, w)
6: (p, f), (G, 7)
7: (G, 7), (G, 7)
w: (c, w), (c, w)

每一行都将为结构提供数据(其中包含5个数字或字母).
阅读该行并获得我想要的字符串的最佳方法是什么?
我目前正在使用一系列条件,fgetc但这看起来很难看,也不是很聪明.
我不能使用数组,因为如果数字有两位数,行的大小可能会有所不同.

c file-io

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

成绩数据库表

我正在尝试定义一个表来存储在线成绩单的学生成绩.不过,我无法决定如何做到这一点.

成绩是在三分之一时期由学科给出的.每个学期都有平均成绩,总错过的课程和"恢复成绩"(我不知道正确的英语术语,但如果你低于平均水平,这是一个额外的考试,你试图提高你的成绩) ,我还要存储年度平均值和最终"恢复等级".基本上,它是这样的:

      |1st Trimester      |2nd Trimester      |3rd Trimester
Subj. |Avg.  |Mis.  |Rec  |Avg.  |Mis.  |Rec  |Avg.  |Mis.  |Rec  |Year Avg.  |Final Rec.
Math  |5.33  |1     |4    |8.0   |0           |7.0   |2           |6.5        |7.0
Sci.  |5.33  |1     |4    |8.0   |0           |7.0   |2           |6.5        |7.0
Run Code Online (Sandbox Code Playgroud)

我可以将这些信息存储在一个DB行中,每行如下:

1tAverage | 1tMissedClasses | 1tRecoveringGrade | 2tAverage | 2tMissedClasses | 2tRecoveringGrade
Run Code Online (Sandbox Code Playgroud)

等等,但我认为如果scholl决定通过bimester或其他一些时期评分(就像过去3年前一样),这将是一种痛苦.
我还可以对表格字段进行概括,并使用一个tinyint来标记这些成绩的三个月,或者它们是否是年度决赛.但是这个会要求很多子查询来编写报告卡,这也是一种痛苦.

哪两个更好,还是有其他方式?谢谢

sql database data-modeling

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

如何在C中的结构中设置char?

如何为struct中的char变量(不是char指针)分配内存?
(变量名称是葡萄牙语,抱歉,如果它有点令人困惑)

我有这个结构:

typedef struct node{
    char rotulo[10], instrucao[1][2][10], flag;
    int simplificado;

    struct node *referencias[2];
    struct node **antecessores;
    int nrAntecessores;

    struct node *ant;
    struct node *prox;
} Estado;
Run Code Online (Sandbox Code Playgroud)

这是insere()一个设置从新节点中的输入文件读取的值的函数:

void Insere(char *rotulo, char instrucao[][2][10], int qtdInstrucao, char flag){
    int i,j;
    Estado *NovoEstado;
    NovoEstado = (Estado*)malloc(sizeof(Estado));
    NovoEstado->prox = NULL;
    NovoEstado->ant = P->ult;
    strcpy(NovoEstado->rotulo, rotulo);
    NovoEstado->flag = flag;
    NovoEstado->antecessores = NULL;
    NovoEstado->nrAntecessores = 0;
    NovoEstado->simplificado = 0;

    for(i=0;i<qtdInstrucao;i++){
        realloc(NovoEstado->instrucao, i+1*sizeof(char[2][10]));
        strcpy(NovoEstado->instrucao[i][0], instrucao[i][0]);
        strcpy(NovoEstado->instrucao[i][1], instrucao[i][1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

NovoEstado->flag = flag; …

c malloc data-structures

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

使用Delphi打开URL

我做了一点(或者至少我希望它很少)对一个朋友的青睐,但是在10年左右的时间里没有使用Delphi ......我的搜索没什么用处

我要做的是获取一个URL,然后解析HTML以找到他需要的一些信息.我希望有这样的东西(在python中)fileHandle = urllib2.urlopen(urlStr),fileHandle会收到我请求的页面的HTML.我找到的所有示例都打开了默认浏览器,但是

我正在使用Linux,使用Lazarus和Free Pascal,他正在使用Delphi 7(如果我没记错的话),如果这很重要的话.

谢谢.

delphi freepascal lazarus

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

动态多维数组

我需要一个多维的字符数组,它只在一个维度上是动态的......
我必须存储一对字符串,每个字符串的长度为10(或更少)字符,但具有可变数量的"对".

我的想法是这样的

char (*instrucao)[2][10];
Run Code Online (Sandbox Code Playgroud)

这给了我一个指向2x10字符数组的指针,但当我做这样的事情时这不能正常工作:

char strInstrucoes[117], *conjunto = calloc(21, sizeof(char));
instrucao = calloc(1, sizeof(char[2][10]));
conjunto = strtok(strInstrucoes,"() ");
for(i = 0; conjunto != NULL; i++){
    realloc(instrucao, i+1*sizeof(char[2][10]));
    sscanf(conjunto,"%[^,],%s", instrucao[i][0], instrucao[i][1]);
    printf("%s | %s\n", instrucao[i][0], instrucao[i][1]);
    conjunto = strtok(NULL, "() ");
}
Run Code Online (Sandbox Code Playgroud)

有了strInstrucoesas (abc,123) (def,456) (ghi,789),我没有矩阵与3对2对,每个像这样:

abc | 123
def | 456
ghi | 789
Run Code Online (Sandbox Code Playgroud)

但这是我得到的:

abc | 123
def | 45def | 45de
ghi | 789
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?谢谢!

c arrays pointers multidimensional-array

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