返回顶部
首页 > 资讯 > 后端开发 > GO >如何测试测试用例?
  • 339
分享到

如何测试测试用例?

2024-04-05 00:04:57 339人浏览 泡泡鱼
摘要

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天编程网就整理分享《如何测试测试用例?》,文章讲解的

编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天编程网就整理分享《如何测试测试用例?》,文章讲解的知识点主要包括,如果你对golang方面的知识点感兴趣,就不要错过编程网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。

问题内容

我的程序具有黑名单功能,其中文件列出了一些要排除的条件。该文件名为 blacklist.yaml

此文件与主代码(进入 Docker 容器)一起投入生产(*),在进行其他操作之前,我想确保文件的结构是正确的。

为此我写道:

func testifblacklistiscorrect(t *testing.t) {}

它对 blacklist.yaml 进行了硬编码,并将作为部署过程的一部分运行,以便在结构中存在语法错误时中止部署(从而使现有容器保持完整并运行)。这部分很好。

我现在想要“测试测试” - 即编写一个测试 test_testifblacklistiscorrect 来检查 testifblacklistiscorrect 是否实际上正确,并考虑所有情况、边缘情况等。

为此,我有一个 blacklist_test.yaml,它具有一系列正确和不正确的结构。我想针对该列表运行 testifblacklistiscorrect 以确保它正确捕获可能的问题。

我的问题: testifblacklistiscorrect 已对 blacklist.yaml 进行硬编码。我可以将带有文件名的参数传递给实际读取文件的例程(我在下面的示例代码中这样做),但这需要将此参数传递独立到 testifblacklistiscorrecttest_testifblacklistiscorrect

然而,将变量传递给测试似乎是不可能的。在 Go 中解决此类问题的标准方法是什么?

到目前为止我的代码如下(主要显示导入 yaml 数据的逻辑)

package main

import (
    "regexp"
    "testing"
)

func TestIfBlacklistIsCorrect(t *testing.T) {
    blacklist := readBlacklist("blacklist.yaml")
    for _, entry := range blacklist {
        log.Info().Msgf("testing pattern %v of type %v", entry.Match, entry.Type)
        if entry.Type == "exact" || entry.Type == "regex" {
            log.Info().Msg("type is correct")
        } else {
            t.Errorf("type %v is not known", entry.Type)
            continue
        }
        if entry.Type == "regex" {
            _, err := regexp.Compile(entry.Match)
            if err != nil {
                t.Errorf("incorrect match pattern: %v", err)
                continue
            }
        }
        log.Info().Msgf("pattern %v of type %v is correct", entry.Match, entry.Type)
    }
}

func Test_TestIfBlacklistIsCorrect() {
    // work in progress :)
}

(*) “制作”实际上是一个家庭级的节目,唯一会犯错误的人就是我。我提到这一点是为了让非核电站级的解决方案也是可以接受的。


正确答案


最简单的解决方案就是不使用 testing 包进行运行时测试。 testing 包用于测试,而不是运行时。

因此,将 testifblacklistiscorrect 重构为不依赖于 testing 的内容。例如:

func TestIfBlacklistIsCorrect() error {

并将其放入非 _test.go 文件之一。

然后您就可以根据需要轻松地为其编写测试。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持编程网!更多关于Golang的相关知识,也可关注编程网公众号。

您可能感兴趣的文档:

--结束END--

本文标题: 如何测试测试用例?

本文链接: https://lsjlt.com/news/596623.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何测试测试用例?
    编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天编程网就整理分享《如何测试测试用例?》,文章讲解的...
    99+
    2024-04-05
  • 功能测试的测试用例
    首先,功能自动化测试TestBird,帮助提高功能测试效率。1. 登陆、添加、删除、查询模块是我们经常遇到的,这些模块的测试点该如何考虑  1)登陆  ① 用户名和密码都符合要求(格式上的要求)  ② 用户...
    99+
    2024-04-02
  • Python自动化测试如何自动生成测试用例
    本篇文章给大家分享的是有关Python自动化测试如何自动生成测试用例,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天,陕西优就业小优整理了一些技术类干货知识,学习软件测试的小...
    99+
    2023-06-02
  • Android_TestCase(测试用例)
      基本Activity 测试用例   创建一个测试用例   在对应要测试Activity的package路径下新建test包, 项目工程结构.png   ...
    99+
    2022-06-06
    测试用例 测试 Android
  • 如何设计Android APP测试用例
    在当今竞争激烈的市场上一个APP的成功离不开一个可靠的用户界面(UI)。因此,对功能和用户体验有一些特殊关注和照顾的UI的全面测试是必不可少的。当涉及到安卓平台及其提出的独...
    99+
    2022-06-06
    app测试 app Android
  • 手工测试如何转自动化测试
    我接触了太多测试同行,由于多数同行之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的同行。 我 从事软件自动化测试已经数年了,接触过底层服务端、API 、Web、APP、H5 等等,对自动化算是比较了...
    99+
    2023-06-02
  • Jmeter如何通过CSV保存测试数据、测试用例及将测试结果导出到Excel里
    这篇文章给大家分享的是有关Jmeter如何通过CSV保存测试数据、测试用例及将测试结果导出到Excel里的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。CSV保存测试数据,并上传到CSV Data Set Conf...
    99+
    2023-06-04
  • MySQL如何测试
    这篇文章主要介绍MySQL如何测试,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言:基准测试benchmark:基本技能,是针对系统设计的一种压力测试,是唯一方便有效、可学习系统在...
    99+
    2024-04-02
  • 【测试开发】Mq消息重复如何测试?
    本篇文章主要讲述重复消费的原因,以及如何去测试这个场景,最后也会告诉大家,目前互联网项目关于如何避免重复消费的解决方案。 Mq为什么会有重复消费的问题 Mq 常见的缺点之一就是消息重复消费问题,产生这种问题的原因是什么呢?有以下几点: 工...
    99+
    2023-09-15
    php 开发语言 自动化测试 软件测试 功能测试 程序人生 职场发展
  • PHP 单元测试:如何提高测试效率?
    通过使用快速断言、提高代码覆盖率和采用并行测试框架 paratest,可以显着优化 php 单元测试性能,从而将一个需要 30 秒执行的 laravel 测试套件优化到仅需 3 秒,性能...
    99+
    2024-05-21
    php 单元测试 laravel
  • 如何在 Golang 单元测试中调试失败的测试?
    如何调试 golang 单元测试失败?查看错误消息,以了解失败原因。使用 delve 调试器逐步执行测试,检查变量值和代码流程。添加日志语句,以跟踪测试执行并获取更多信息。 如何在 G...
    99+
    2024-05-16
    golang 单元测试调试
  • Pythonpytest.main()运行测试用例
    目录前言pytest.main()参数运行指定测试用例指定plugins参数前言 前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例 py...
    99+
    2022-12-16
    pytest执行测试pytest.main() Python pytest.main()
  • 【星云测试】开发者测试-采用精准测试工具对Spring Boot应用进行测试
    简介:本文主要介绍把现今主流的springboot框架项目和精准测试工具进行结合和应用,通过精准测试的数据穿透、数据采集、测试用例与代码的双向追溯、数据分析等一系列精准测试的特有功能,达到对项目质量的保证。 本次环境搭建分为基础环...
    99+
    2023-06-02
  • mysql如何测试shell
    这篇文章主要介绍了mysql如何测试shell,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 a=0echo ...
    99+
    2024-04-02
  • 测试
    这是个测试文章,主要看看页面的效果如何 简介 撒大声地撒 还是简介 include using namespace std; int main(){ cout...
    99+
    2019-10-23
    测试
  • Golang 单元测试和基准测试实例详解
    目录前言Go 单元测试单元测试覆盖率基准测试前言 多人协作的项目里,要保证代码的质量,自然离不开单元测试。开发完一个功能后肯定要对所写的代码进行测试,测试没有问题之后再合并到代码库供...
    99+
    2024-04-02
  • @SpringBootTest单元测试测试类的使用
    前言 使用SpringBoot 测试类可在不需要启动程序时,即可使用。当你运行你的测试方法时他会自己启动程序调用所需使用到的mapper,service接口,实现方法。故而可在测试类中像编写正常service方法一样编写代码 一.依赖录入 ...
    99+
    2023-08-21
    单元测试 junit java
  • Yii框架的测试武器库:单元测试、功能测试和集成测试
    范围:单元测试关注代码的特定部分,而不考虑外部依赖关系。它们验证代码的行为是否符合预期,并覆盖所有代码路径。 优点: 快速执行 容易维护 可以自动化并集成到持续集成管道中 缺点: 无法测试代码的依赖关系集成 覆盖面可能不全面,可能遗...
    99+
    2024-04-02
  • java测试类如何调用
    要调用一个Java测试类,你需要按照以下步骤:1. 创建一个Java类,作为主类或者测试类的入口。2. 导入你要测试的类的包,确保你...
    99+
    2023-08-31
    java
  • 如何使用开源测试工具RunnerGo做自动化测试
    以下是使用开源测试工具RunnerGo进行自动化测试的步骤:1. 安装RunnerGo:首先,需要从RunnerGo的官方网站(ht...
    99+
    2023-09-21
    RunnerGo
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作