tdd 相关问题

测试驱动开发(TDD)涉及编写失败的自动测试以指定要构建的内容。然后通过编写满足测试条件的代码来进行测试。最后,代码被重构。

单元模拟测试中的 It.IsAny 是什么以及 It.Is 是什么

已经有人问过很多问题,但我认为我需要一些更基本的东西来澄清这个概念,因为我是 TDD 的初学者。到那时我还不能前进。 你能...

回答 2 投票 0

如何在 React 中使用 Jest 和 Enzyme 测试组件中的 prop 是否正确渲染

我有一个名为 Product 的 React 组件,如下所示: {props.headerText} 我有一个名为 Product 的 React 组件,如下所示: <div> <Wrapper> <Heading>{props.headerText}</Heading> <Service>({props.items.length})</Service> </Wrapper> {props.items !== undefined && props.items.length > 0 ? ( <TableWrapper> {props.items && props.items.length > 0 && ( <DataTable paginationSize={props.paginationSize}> <DataTable.Heading accessor="name"> Name </DataTable.Heading> <DataTable.Heading accessor="id"> Service ID </DataTable.Heading> <DataTable.Heading accessor="type"> Access </DataTable.Heading> <DataTable.Heading accessor="band"> Band </DataTable.Heading> <DataTable.Heading accessor="noUsers"> Users </DataTable.Heading> {props.tableItems.map((p, i) => { return <DataTable.Row key={i} data={p} />; })} </DataTable> )} </TableWrapper> ) : ( <NoMessage>{props.noItemMessage}</NoMessage> )} </div> 其中 Wrapper、Heading、Service、TableWrapper 是样式组件。我正在尝试 使用 Jest 和 Enzyme 测试此组件,以检查 headerText 道具是否正确呈现 。下面给出的代码是我尝试编写测试用例的方式: test("header text is being passed through correctly", () => { const wrapper = mount( <Product items={data} headerText="Service" paginationSize="5" noItemMessage="No results found" /> ); expect(wrapper.find(HeaderText).text()).toEqual("Service"); 但我收到此错误: TypeError: Cannot read property 'blue' of undefined at Object.<anonymous>.exports.RightArrow.Icons.RightArrow.extend.props (src/lib/DataTable.js:149:129) DataTable.js 中的第 149 行是: color: ${props => props.theme.secondary.blue}; 我无法弄清楚为什么会出现此错误。有人可以指导我解决这个问题吗?我只是想检查 headerText 是否从 props 中正确渲染。 在包装器中添加主题作为道具 <Product items={data} theme={{secondary: {blue: ''}}} headerText="Service" paginationSize="5"noItemMessage="No results found" /> 或者嘲笑它 import { createSpy } from 'expect'; const theme = createSpy(); <Product items={data} theme={theme} headerText="Service" paginationSize="5" noItemMessage="No results found" /> 我们可以使用 styled-componnets 的 themeProvider 来创建一个围绕 shallow 或 mount 酶方法的包装器,如下所示: import { ThemeProvider } from 'styled-components'; const mountWithTheme = (children, theme={}, options = {}) => { const wrapper = mount(<ThemeProvider theme={theme}>{children}</ThemeProvider>, options); return wrapper.mount({}); }; test("header text is being passed through correctly", () => { const wrapper = mountWithTheme(<Product items={data} headerText="Service" paginationSize="5" noItemMessage="No results found" />, { secondary: { blue: 'blue' } }); // we passed the theme we want as an argument to the mountWithTheme method expect(wrapper.find(HeaderText).text()).toEqual("Service"); }); 最好将 utils mountWithTheme 和 ShallowWithTheme 提取到不同的文件中,以便可以重用它,并且作为建议,您可以创建一个模拟主题文件,其中包含一些可以传递给这些包装器的默认主题,而不是每次我们使用这些实用程序时手动传递主题。 更多信息,请访问以下链接: https://github.com/styled-components/styled-components/issues/1319

回答 2 投票 0

@DataJpaTest 和 @SpringBootTest 查询 src/main/resources 数据库而不是 src/test/resources 数据库

我试图彻底理解 Spring Boot,尤其是测试。 我希望所有测试都针对 src/test/resources 内的 application.properties 中的数据库运行,无论活动配置文件如何...

回答 1 投票 0

如何对 django url 进行单元测试?

我的应用程序中除了 urls.py 之外的所有地方都实现了 100% 的测试覆盖率。对于如何为我的 URL 编写有意义的单元测试,您有什么建议吗? FWIW这个问题有一个...

回答 3 投票 0

是否有通用方法将 JUnit 测试标记为待处理?

在进入 TDD 周期之前,我喜欢勾勒出需要实现的测试 - 即编写空的测试方法并说出名称。 不幸的是我还没有找到一种方法来“画...

回答 3 投票 0

如何从使用mockall模拟的方法中返回self?

考虑到以下使用mockall库的测试上下文,我怎样才能令人满意地返回对cmd的引用,这将允许我对随后链接的方法c做出断言...

回答 1 投票 0

我是否也应该将 SUT 程序集的 nupkg 依赖项添加到测试项目中?

我对编写单元测试还比较陌生。我在 .NET 8 中为 azure 函数编写单元测试用例时遇到了这种情况。 项目 1 - ABC.Functions 项目 2 - ABC.Functions.Test 我已经添加了...

回答 1 投票 0

在 Java 中测试 DAO 方法:假实现与内存数据库

我目前正在使用 Java 17、Dropwizard 和 JUnit 5 开发一个 Java 项目,我专注于改进我的单元测试并采用测试驱动开发 (TDD) 实践。我的申请...

回答 1 投票 0

如何在 phpunit 中引用外部数据提供者?

我正在尝试使用 PHPUnit 中的通用数据提供程序运行一些测试。 参见下面的测试: 命名空间 AppBundle\Tests\Controller; 使用 Symfony\Bundle\FrameworkBundle\Test\WebTestCase; 使用

回答 2 投票 0

显示每个 rspec 示例的运行时

目前我正在运行超过 1k 个示例,并且需要很长时间才能完成(超过 20 分钟!!!)。 我想确定哪些示例需要更多时间才能完成,是...

回答 2 投票 0

如何使用.Net IO 类创建可测试代码?

我想创建可单元测试的代码来模拟对 .Net System.IO 类的调用,这样我就可以真正进行单元测试,而不是依赖于文件系统。 我正在使用 SystemWrapper 类...

回答 2 投票 0

TDD 测试从一开始就可以是绿色的吗?

想象我有函数 foo(): var foo = 函数(字符串) { 返回字符串.replace(/a/g, ''); }; 我对其进行了以下测试: foo() 存在; foo() 从字符串中删除 a,但不...

回答 3 投票 0

MongoError:无法创建集合用户 - 数据库正在被删除

我有一个 REST API,我正在为这个项目编写 TDD。我的TDD由两部分组成:路线和服务。我选择使用 Jest。我有一个用于测试的 MongoDB 数据库。当每次测试都是

回答 2 投票 0

避免在 Google Mock 中多次匹配 .WillOnce

我有一个模拟对象设置,如下所示: 我的对象 obj; EXPECT_CALL(obj, myFunction(_)) .WillOnce(返回(1)) .WillOnce(返回(1)) .WillOnce(返回(1)) .WillRepeatedly(Return(-1)); 有没有...

回答 3 投票 0

当应用程序处于深色/浅色主题时(尤其是深色主题),在 Flutter 中测试应用程序外观的最佳方法

在浏览完 Flutter 文档的测试后,我在应用程序中达到了一个阶段,我想在应用程序上测试浅色和深色主题外观。集成测试可能是一种选择,h...

回答 3 投票 0

重构时 Mockito Mock 对单元测试的影响

如果我使用被注入到 SUT 中的对象的模拟模拟作为参数,那么在重构期间重新组织代码以调用同一模拟的另一个非模拟方法会发生什么?我的...

回答 2 投票 0

使用 Web API 对 JWT 令牌进行单元测试

我正在尝试使用 Web API2、JWT、Microsoft.IdentityModel.JsonWebTokens 5.2.422 以及本文中概述的令牌验证逻辑:http://www.decatechlabs.com/secure-webapi-using-jwt 曾经...

回答 1 投票 0

在 phpunit 测试中设置/使用会话

我有一个简单的类,它包装了序列化/反序列化对象数组并将它们添加到会话中,我想测试它。 我得到的错误是 没有会话可用...

回答 1 投票 0

在 VS Code Python 中单击即可创建不存在的函数

其他 IDE,如 PyCharm、IntelliJ 等,有一个功能,如果它发现正在调用的函数未定义,您可以右键单击它,然后单击“创建方法”或类似于自动化的东西...

回答 2 投票 0

TDD 由内而外:询问如何正确执行?

我正在尝试正确地进行TDD!我读到的是 TDD Inside Out,而不是 Outside In。原因是我不知道我的层是如何预先构建的,所以我的想法是开始编写测试,h...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.