对象,方法或函数的替换实现,以便删除外部依赖项。
用mockito @Spy注释的spy不会初始化@Mock字段
我有一堂课: @AllArgsConstructor 公共类 QuestionInfoService { QuestionInfoRepository 存储库; } 我想创建一个测试,为此类创建一个间谍: @间谍
如何获取 `matplotlib`、`numpy`、`scipy`、`pandas` 等的存根文件?
我知道用于类型检查和静态分析的内置 Python 库的存根文件随 mypy 或 PyCharm 安装一起提供。如何获取 matplotlib、numpy、scipy、pandas、e...的存根文件
使用 Minitest 时如何对几个不同的类方法进行存根或模拟调用? 例如,我想测试这个方法: 定义索引 类别 = CategoryAnalyzer.for_user(current_user) @
我正在使用Mockito 3.1.0。 我正在尝试用以下语法模拟我的方法: 当(mockedObject.myMethod(any(HttpServletRequest.class)).thenReturn(1); myMethod 很简单: 公共整数 myMethod(
在最新版本的 PE 文件中,有一个存根向 MS DOS 用户显示“此程序无法在 DOS 模式下运行”这句话。为什么这样的消息仍然存在,尽管它浪费了大约38个字节?有没有...
使用 sinon 存根 ES6 类字段(解决“无法存根不存在的属性”/“属性不存在!”)
我有一堂课: 类 Foo { 巴兹 = 3; 酒吧() { 返回 5; } } 我可以在实例和类本身上存根 bar() : 描述(“#bar”,函数(){ 它(“ca...
这个问题建立在这个问题中链接的代码的基础上 在我对自定义编组的研究中,我看到了这篇文章,它为我提供了创建自己的代理/存根所需的所有见解......
一个包中有一个类方法如下 异步 getPropertyAsync(名称:字符串):Promise { //做一点事 } 另一个包中的另一个函数如下 函数 getCo...
当应用程序更新为期望新的 JSON 格式时,是否有一种方便的方法来更新存根 API 调用?
我们的应用程序正在大力开发中,我们的 API JSON 格式也在不断变化。这是一个简化的例子: { “成功”:真实, “消息”:空, “数据&q...
如何在 vue test utils jest 中全局存根组件?
我在全局注册了一个组件,并在多个文件中使用。 有超过 100 个同时使用了 mount 和 shallowMount 的测试用例文件,所以我不能去每个测试用例并更改......
我知道存根验证状态,模拟验证行为。 如何在 PHPUnit 中进行模拟以验证方法的行为? PHPUnit 没有验证方法(verify()),我也没有...
在 Apple Watch Simulator 中运行我的应用程序时出现问题
错误是:在为 WatchOS 构建时,Watch-Only Application Stubs 不可用。 有人知道如何解决这个问题吗?我试图到处寻找这个问题,但我找不到任何有用的东西......
Sinon stub - 存根用 swagger 生成的 axios api
我有一个由 swagger open api 生成的文件。我正在编写一些测试并第一次使用 sinon 存根。我想知道如何从一个类中存根 api 调用: 导出类 Api 我有一个由 swagger open api 生成的文件。我正在编写一些测试并第一次使用 sinon 存根。我想知道如何从一个类中存根 api 调用: export class Api<SecurityDataType extends unknown> extends HttpClient<SecurityDataType> { case = { /** * @description Create new case * * @tags case-controller * @name CreateCase * @request POST:/case * @secure */ createCase: (data: CreateCaseRequest, params: RequestParams = {}) => this.request<CreateCaseResponse, any>({ path: `/case`, method: "POST", body: data, secure: true, type: ContentType.Json, ...params, }), findMetadataForCase: (caseNumber: string, params: RequestParams = {}) => this.request<CaseDto, void>({ path: `/case/${caseNumber}`, method: "GET", secure: true, ...params, }), } } 我正在像这样实例化这个 Api: import { Api as CaseApi } from "../api/CaseApi"; export const CASE_API = useApi(new CaseApi({ baseURL: environment.url.case }), "case", "fss"); 我也做了一个处理这个api的文件: export const useApiData = () => { const [networkError, setNetworkError] = useState<string>(null); const fetchCase = async (caseNumber: string) => { const case = await CASE_API.case.findMetadataForSak(caseNumber); return case.data; }; const getCaseAndRoles = (caseNumber: string) => { const { data: sak } = useQuery({ queryKey: `case-${caseNumber}`, queryFn: () => fetchCase(caseNumber), staleTime: Infinity, }); const { data: roles } = useQuery( "roles", ({ signal }) => fetchPersons(case, signal).then((persons) => mapPersonsToRoles(case, persons)), { staleTime: Infinity, enabled: !!case } ); return { case: case, roles: roles }; }; const api = { getCaseAndRoles, }; return { api, networkError }; }; 我想对一个从 getCaseAndRoles 钩子调用 useApiData 的组件进行单元测试。 export const CasePage = () => { const { activeStep, setActiveStep, caseNumber } = useCase(); const { api, networkError } = useApiData(); const { case, roles } = api.getCaseAndRoles(caseNumber); return (...some jsx 我想用假数据测试这个组件: describe("CasePage", () => { it("should render", async () => { mockCase(); render(<CasePage />); await waitFor(() => expect(document.querySelector("button")).not.to.be.null); }); }); 但是,我不确定如何为它创建模拟存根: export function mockSak(sinonSandbox: SinonSandbox = sinon.createSandbox()) { const caseApiMock = sinon.stub(useApiData()).returns({ getCaseAndRoles: () => {} }); sinonSandbox.stub(caseApiMock, "getCaseAndRoles").callsFake(() => { return Promise.resolve(caseTestData); }); return sinonSandbox; } 但是,那是行不通的,我在运行测试时遇到错误: Warning: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons: 1. You might have mismatching versions of React and the renderer (such as React DOM) 2. You might be breaking the Rules of Hooks 3. You might have more than one copy of React in the same app See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem. 我也试过这个: export function mockCase(sinonSandbox: SinonSandbox = sinon.createSandbox()) { sinonSandbox.stub(useApiData).callsFake(() => { return { api: { getCaseAndRoles: () => Promise.resolve(caseTestData) } }; }); return sinonSandbox; } 但是,然后我得到以下错误: TypeError: sinonSandbox.stub(...).callsFake is not a function 我也试过这个: export function mockSak(sinonSandbox: SinonSandbox = sinon.createSandbox()) { sinonSandbox.stub(CaseApi, "case").value({ findMetadataForCase: () => Promise.resolve(caseTestData), }); return sinonSandbox; } 但是,然后我得到一个错误: TypeError: Cannot stub non-existent property case 这很奇怪,因为如果我这样做 CaseApi.property.case 我可以看到它具有该属性。 我怎样才能存根这个 api 调用?
我有一个getTask()方法,如下所示:const Task = require('./ model'); const User = require('../ users / model')module.exports =异步函数getTask(key){const task = await Task ....
我有以下文件//定义文件导出名称空间Foo {导出函数foo(){bar(); } export function bar(){抛出“尚未实现”}} //测试文件导入{...
我有这样的函数代码:Dir.mkdir('config')除非File.exist?('config')File.open('config / brakeman.yml','wb')做| file | file.write(response.body)如何测试...
it('POST / direct / bulk',function(){const file = getFile('notif-direct-bulk.csv')sinon.stub(notificationService.constructor.prototype,'validateNotification')。resolves(true) sinon.stub(...
我有几个使用Axios调用的组件,我试图“存根”那些功能,但是,在故事书“尝试包装已经包装的get”中收到以下错误。我不知道...
我是JavaScript和Python开发人员。这是使用jestjs测试框架的单元测试代码片段:index.ts:从“ dotenv”导入dotenv;导出类OsEnvFetcher {builder(){...
我有一个模型类TestCaseModel,看起来像公共类TestCaseModel {List 条件= new ArrayList (); public void addCondition(String condition){...