小编jua*_*e18的帖子

unittest.mock Patch() 与 Monkeypatch

我正在将旧的unittest测试用例转换为pytest。我目前正致力于将此单元测试行转换为 Monkeypatch 函数:

from unittest.mock import patch

patch('app.modle.addres.create, side_effect=create(add.address)):
Run Code Online (Sandbox Code Playgroud)

Monkeypatch 是否是正确使用的模块?

python pytest

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

如何在 Laravel/Passport 中重写 `issueToken` 方法

我试图覆盖issueToken位于的方法\Laravel\Passport\Http\Controllers\AccessTokenController而不添加新的路由,即(api/oauth/token)。我已经构建了自己的AccessTokenController方法来执行我想要的功能,但是当我调用时oauth/token,正在执行父方法而不是我的实现..我是否错过了完成覆盖的某些内容?

<?php
   namespace App\Http\Controllers;

   use phpseclib\Crypt\RSA;
   use Illuminate\Database\Eloquent\ModelNotFoundException;
   use League\OAuth2\Server\Exception\OAuthServerException;
   use Psr\Http\Message\ServerRequestInterface;
   use \Laravel\Passport\Http\Controllers\AccessTokenController as ATC;

   class AccessTokenController extends ATC {

     public function issueToken(ServerRequestInterface $request){
       try {
         // Fetching username from request
         $username = $request->getParseBody()['username'];
         // Fetching the User
         $user = User::where('email', '=', $username);
         // Genereting token
         $tokenResponse = parent::issueToken($request);
         //convert response to json string
         $content = $tokenResponse->getBody()->__toString();
         $content['email'] = $user['emial'];
         //convert json to array
         $data = json_decode($content, true);
         return $data;

       } …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-passport

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

标签 统计

laravel ×1

laravel-passport ×1

php ×1

pytest ×1

python ×1