首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

添加Firebase持久性时,使用react- Tests library无法通过测试,但当手动测试时,一切正常

Firebase是一种云计算平台,提供了一系列的后端服务,包括实时数据库、认证、云存储、云函数等。在使用Firebase时,有时会遇到一些测试问题。

根据提供的问题,当使用react-Tests library进行测试时,可能会遇到一些问题。react-Tests library是一种用于编写React组件测试的工具库,可以模拟用户交互、触发事件等。无法通过测试可能是由于以下原因:

  1. 引用问题:请确保已正确引入react-Tests library,并按照文档中的方式正确使用。
  2. 异步操作:Firebase的某些操作可能是异步的,例如从数据库中读取数据或上传文件。在测试时,需要使用适当的方式处理异步操作,例如使用async/await或使用回调函数。
  3. 模拟Firebase服务:在测试中,可以使用模拟的Firebase服务来模拟实际的Firebase操作。这样可以避免对真实Firebase服务的依赖,并提供更好的控制和可预测性。可以使用firebase-mock等库来模拟Firebase服务。
  4. 环境配置:确保测试环境中的Firebase配置正确,并且具有适当的权限。例如,如果测试需要访问数据库,则需要确保测试环境有相应的读写权限。

当手动测试时一切正常,可能是因为手动测试时的环境和条件与自动化测试不同。手动测试时可能更接近真实环境,而自动化测试可能受到一些限制或缺乏某些配置。

总结来说,解决这个问题的关键是仔细检查测试代码,并确保正确引入react-Tests library,处理好异步操作,并使用模拟的Firebase服务。此外,也要确保测试环境的配置正确。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2020 年你应该知道的 React 库

使用这样的类型检查器,您可以在开发期间获得错误。您不必启动应用程序就可以找到本可以通过这种类型检查防止的 bug。这样一来,类型检查器就可以提高您的开发人员体验,避免首先引入 bug。...快照测试的工作方式如下: 运行测试之后,将创建 React 组件中渲染的 DOM 元素的快照。您在某个时间点再次运行测试,将创建另一个快照,用作前一个快照的差异。...最终,您会发现自己在使用 Enzyme 或 React Testing Library (这两个都在 Jest 测试环境中使用)来进行更详细的测试功能集。...建议: Unit/Integration/Snapshot Tests: Jest + React Testing Library E2E Tests: Cypress 2e test: Cypress...您可以从小型开始,只添加库来解决特定的问题。当应用程序增长,您可以沿途扩展构建块。否则你可以通过使用普通的 React 来保持轻量级。

14.4K40

满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求

设备进入 Doze 或者待机模式,会产生下述系统行为: - 网络访问限制; - 推迟应用的 alarms、syncs 和 jobs; - GPS 以及 Wi-Fi 扫描限制; - 普通优先级 Firebase...查看更多指导文档链接 现代化您的应用 您在更新应用目标 API 等级,请考虑应用平台近期发布的新功能,让您的应用更为现代化并为用户带去更好的体验。...我们推荐您选择小于或等于 Support Library 主要版本的 targetSdkVersion ,并建议您升级到近期发布的兼容 Support Library,从而能够使用到最新版本的兼容性特性和错误修正功能...查看更多指导文档链接 测试您的应用 在更新完应用的 API 等级和功能后,您须要测试一些核心用例。下文列举的几条建议并没有涵盖所有情况,希望能给您提供指导作用。...: - 在应用运行时,使用 adb 让您的测试设备进入 Doze 模式: ·· 测试任何触发 Firebase Cloud Messaging 消息的用例; ·· 测试任何需要使用闹钟或者任务用例

8.6K30
  • 面向 C++ 的现代 CMake 教程(三)

    项目想要添加使用外部查找模块,这个变量可以被项目配置。接下来,CMake 将扫描安装的 CMake 版本的内置查找模块列表。 如果没有找到适用的模块,该寻找相应的包配置文件了。...这个选项在测试手动定义很有帮助,例如在你的列表文件中使用add_test( )命令,因为你可以通过测试属性指定个别标签,像这样: set_tests_properties...我们可能会在它导致测试失败检测到它,反之亦然:错误的状态导致测试通过,而它本不该通过。这种虚假通过测试给开发者带来了安全感,这比没有测试还要糟糕。...处理已知具有不稳定性的测试,这个方法很有用,这些测试太难且重要,无法进行调试或禁用。 after-timeout—运行测试至次,只有在测试超时的情况下才重试。...通过编译代码两次,产生的工件可能不会完全相同。这些事物可能会随着时间的推移而逐渐偏离(由于添加了编译标志和预处理器指令)。工程师匆忙、缺乏经验或不熟悉项目,这可能尤其危险。

    37800

    前端单测,为什么不要测 “实现细节”?

    主要有两个原因: 假错误(False Negative):重构的时候代码运行成功,测试用例崩了 假正确(False Positive):应用代码真的崩了的时候,然而测试用例又通过了 注:这里的测试是指...它是指,在我们跑测试用例都通过了,实际上业务代码/应用代码里是有问题的,用例是应该要抛出错误的!那我们应该怎么才能覆盖这些情况呢?...这也是为什么 Enzyme 测试用例为什么这么容易出现 “假错误”,因为 当用它来写一些 End User 和 Developer 都不 care 的测试用例,我们实际上是在创造第三个用户视角:Tests...事实证明,测试代码 “实现细节” ,“实现细节” 的中的任何修改都会对测试有很大的影响。...(比如:Developer 拿来渲染结账表单,End User 会用它操作点击按钮) 给使用者写一份操作清单,并手动测试确认功能正常(用假数据在购物车中渲染表单,点击结账按钮,确保假 /checkout

    95050

    是时候迁移至 AndroidX 了!

    useAndroidX" 设置用于开启 AndroidX 库的自动导入,您自动补全或导入依赖库,会自动导入 AndroidX 库。...其实我们自己就在这方面 "栽过跟头",我们有一个演示应用: Plaid,它依赖了图片加载库 Glide,我们本来打算使用 Plaid 来演示如何迁移应用至 AndroidX,当我们在没有检查 Glide...使用自动迁移脚本 我们也意识到有些团队使用的不是 Android Studio,而且也会有一些应用的结构过于复杂,使我们的工具无法生效。...遇到这种情况,自动迁移不会理会您之前的变量配置,它会直接把这些库替换成一个确定的 AndroidX 版,如果您仍然想要使用变量管理这些库的版本号,就需要手动把 AndroidX 的依赖库版本改为使用变量设置...在迁移依赖,要专注于错误的修改,以编译成功和通过所有测试为首要目标。不要在迁移的同时进行重构或者引入新的功能。

    99420

    是时候迁移至 AndroidX 了!

    开始迁移 在整个迁移步骤中,我们将着重于解决错误,使您的应用编译并通过所有测试。...useAndroidX" 设置用于开启 AndroidX 库的自动导入,您自动补全或导入依赖库,会自动导入 AndroidX 库。...使用自动迁移脚本 我们也意识到有些团队使用的不是 Android Studio,而且也会有一些应用的结构过于复杂,使我们的工具无法生效。...常见的需要手动处理的情况 以下图为例,我们看到这里依赖的仍然是 Support Library,其中 drawerLayout 和 recyclerview 的版本是用一组变量设置的: 遇到这种情况...在迁移依赖,要专注于错误的修改,以编译成功和通过所有测试为首要目标。不要在迁移的同时进行重构或者引入新的功能。

    18810

    是时候迁移至 AndroidX 了!

    开始迁移 在整个迁移步骤中,我们将着重于解决错误,使您的应用编译并通过所有测试。...useAndroidX" 设置用于开启 AndroidX 库的自动导入,您自动补全或导入依赖库,会自动导入 AndroidX 库。...使用自动迁移脚本 我们也意识到有些团队使用的不是 Android Studio,而且也会有一些应用的结构过于复杂,使我们的工具无法生效。...] 遇到这种情况,自动迁移不会理会您之前的变量配置,它会直接把这些库替换成一个确定的 AndroidX 版,如果您仍然想要使用变量管理这些库的版本号,就需要手动把 AndroidX 的依赖库版本改为使用变量设置...在迁移依赖,要专注于错误的修改,以编译成功和通过所有测试为首要目标。不要在迁移的同时进行重构或者引入新的功能。

    1.1K00

    CMake---优雅的构建CC++软件项目实践(1)

    除此之外,C/C++ 程序员长期以来手动管理依赖,即手动查找、安装依赖,再配置构建工具(如 cmake)使用依赖。...有极大的更新,会增加major的版号,而有大更新,但不至于更新major,会更新minor的版号,若更新比较小,例如只是bug fixing,则会更新patch的版号。...不过这个操作谨慎使用,因为在android平台jni依赖带版本的库是无法找到的。...测试样例放于tests目录,并在该目录下建立CMakeLists.txt文件用于构建所有测试demo,并在主CMakeLists.txt下包含tests目录: CMAKE_MINIMUM_REQUIRED...目录下添加测试程序了,比如test_logger.cpp或者更多的测试demo,tests/CMakeLists.txt会自动将tests目录下所有源文件逐个进行可执行文件生成构建。

    8.3K52

    #抬抬小手学Python# Python Poetry 进行依赖管理【图文】

    更新后,软件包可能无法像更新前那样工作。Python Poetry 之类的依赖项管理器可帮助您指定、安装和解析项目中的外部包。通过这种方式,您可以确保始终在每台机器上使用正确的依赖版本。...另一个是pytest,一个广泛使用测试框架。正如您之前看到的,您的项目包含一个tests/文件夹和一个test_rp_poetry.py文件。...您想让用户选择安装一个不需要增强您的包的特定数据库适配器,这会很方便。您可以在Poetry 文档 中了解有关可选依赖项的更多信息。...您向pyproject.toml文件添加需求,它尚未安装。...在这些情况下,您可以执行测试运行并查看结果,或者手动将需求添加到文件中的[tool.poetry.dependencies]表中pyproject.toml。

    1.6K40

    单元测试

    需要基于DOM元素进行匹配测试,推荐引入@testing-library/jest-dom。...(已默认引入,不需要手动再次引入) 文件命名规则 在需要测试的目录下新建 __tests__ 目录 根据要测试的内容命名测试文件 对于组件文件,可以使用组件的名称作为文件名,并在文件名后面添加 .spec.tsx...) 点击unitest插件执行报告查看结果 或在任务管理中,进入单元测试报告界面查看 二、行云流水线发布任务自动执行 行云流水线执行项目发布,根据行云的门禁配置会自动执行项目的单元测试 和苍穹主动执行单测的区别是...,但是运行一组测试用例,会出现报错 这种情况通常是由于在一组测试用例中,前一个测试用例没有正确地清理或重置测试环境,导致后续的测试无法找到期望的元素或状态。...当你在测试中进行异步操作(例如使用 setTimeout、Promise 等),可以使用 act 来等待异步操作完成后再进行断言。

    23610

    编写rust测试程序

    编写rust测试 rust提供了编写测试的方式来让我们对程序编写测试用例。 测试函数 使用 Cargo 创建一个 lib 类型的包,它会为我们自动生成一个测试模块。...执行测试 之前,对于library的package,我们是使用cargo build来构建的。对于测试而言,可以执行cargo test来执行项目中的所有测试。...测试用例的并行或顺序执行 运行多个测试函数,默认情况下是为每个测试都生成一个线程,然后通过主线程来等待它们的完成和结果。...tests,其它时候这段代码是空气即可,例如在 cargo build 。...你需要好好的组织你的测试代码。 首先来创建一个集成测试文件 tests/integration_test.rs,tests目录需手动创建,它和src是同级目录。

    1.2K20

    Sentry 开发者贡献指南 - 测试技巧

    docker ps --format '{{.Names}}' # 稍后您完成运行测试并想再次运行本地服务器 sentry devservices down --project test &&...您应该努力包含涵盖各种用户角色、跨组织/团队访问场景以及无效数据场景的测试,因为这些在手动测试时经常被忽略。...使用 store_event() ,请注意在事件上设置过去的 timestamp。省略,timestamp 将使用 'now',这可能会导致由于 timestamp 边界而无法选择事件。...我们在 Sentry 使用验收测试有两个目的: 涵盖仅通过端点测试或仅使用 Jest 无法涵盖的工作流程。 通过我们的视觉回归 GitHub Actions 为视觉回归测试准备快照。...验收测试可以在 tests/acceptance 中找到,并使用 pytest 在本地运行。 运行验收测试 您运行验收测试,webpack 将自动运行以构建静态资资源。

    1.7K50

    前端测试体系建设与最佳实践总结

    Jasmine 是单测框架的“元老”,开箱即用,但是异步测试支持较弱。 Jest 基于 Jasmine, 做了大量修改并添加了很多特性,同样开箱即用,异步测试支持良好。...React Testing Library 出的比较晚,倾向于支持 React 的新功能,这对我来说在测试 Hooks 是一个巨大的好处。...但是对于一些公共组件的测试还是很有必要的,就像笔者前文说到过的一样,项目的代码足够复杂,一个通用组件的改动迎接你的可能就是一个线上 Case。...我们的测试点在加菜和减菜按钮的事件是否被正确触发,数量为 0 ,减号按钮和数量是否展示,数量不为 0 ,展示是否正确。...在原有逻辑增加新功能通过运行之前的测试,能够大大提高迭代的质量和稳定性。 这篇文章主要总结了笔者在 React 项目中书写测试的经验与沉淀,而对于 Vue 的项目,暂时还没有深入研究。

    5.3K30

    Flutter 2.8正式版发布了,还不来看看

    在这种情况下,你没有任何本地类可以使用你仍然希望将你的插件指定为仅支持某些平台。...这个 package 可以用少量的代码构建一个基本的身份验证体验,例如,在 Firebase 项目中设置了使用邮箱和 Google 账号登陆: 通过这个配置你可以通过下面的代码构建一个身份验证: import...因为虽然很少有开发人员使用 dev 渠道, Flutter 工程师仍需要花费大量时间和精力来维护它。...当我们在未来几个月停用 dev 渠道,请考虑使用 beta 或 master 渠道,这取决于你对变更的容忍度以及对使用「最新」还是「最好」的平衡点。...诚然,我们正在为世界上越来越多的开发人员构建 Flutter,如果没有你和每位开发者的存在,我们也无法维护并构建它。Flutter 社区与众不同,感谢你所做的一切

    22.4K30

    PHPUnit入门基础教程

    2、直接使用phpunit命令来运行测类文件: ..    2个测试方法都运行成功 OK  包括2个测试方法,4个断言 .    测试成功输出。...F   测试方法运行过程中一个断言失败输出。 E   测试方法运行过程中产生一个错误时输出。 R   测试被标记为有风险输出。 S   测试被跳过时输出。...I   测试被标记为不完整或未实现时输出。 在zend studio中使用PHPUnit框架 1.为需要进行单元测试的项目添加phpunit的Library。...,选择PHPUnit x.x->Next->Finish 点击OK,phpunit的Library添加成功了  2、编写测试类(继承PHPUnit框架的PHPUnit_Framework_TestCase...phpunit命令运行单元测试,无需此条语句 /** * Demo test case. */ class DemoTest extends PHPUnit_Framework_TestCase  /

    1.5K40

    FireBase 亲密接触

    PaaS是一个执行代码以及管理应用运行环境的开发平台,用户通过SVN或者Git之类的代码版本管理工具与平台交互。这也是开发人员具备后台开发的能力。...数据存储为 JSON,以毫秒速度跨连接设备同步,您的应用处于离线状态可以使用该数据。 Storage:直接从 Firebase 客户端 SDK 存储和检索用户生成的内容,如图片、音频和视频。...通过一次操作,我们可以跨越各种各样的设备和设备配置发起应用测试。 Crash Reporting:在我们发布应用之后接收关于稳定性问题的可操作信息。 Notifications:轻松管理通知活动。...App Indexing:通过在 Google 搜索结果中显示相关应用内内容,帮助用户发现和再次使用您的应用。...让您的现有用户能够通过电子邮件或短信轻松分享您的应用及其喜爱的应用内内容。使用与宣传相结合,以增加吸引率和留存率。

    15.9K00

    CMake 秘籍(三)

    这对于简单的测试来说是可以的,通常我们希望使用一个提供基础设施的测试框架,以便运行更复杂的测试,包括固定装置、与数值容差的比较,以及如果测试失败更好的错误报告。...这个函数可以用来自动添加测试通过扫描源代码中的 Google Test 宏。...,可用于通过使用set_tests_properties为单个测试指定超时。...在 CMake 3.9 中引入了 OpenMP 导入目标,当前的方案也可以通过手动设置所需的标志和库,使其与早期版本的 CMake 兼容,方法如下:set(CMAKE_REQUIRED_FLAGS {...pkg_search_module 仅在 CMake 3.6 中学会了如何定义导入目标,当前的配方也可以通过手动设置 check_c_source_runs 所需的包含目录和库来与早期版本的 CMake

    52620

    听GPT 讲Rust源代码--librarystd(1)

    unpark(): 手动唤醒休眠中的线程。...通过在Rust程序中使用DisplayBacktrace结构体,可以方便地获取、格式化和显示程序调用栈的信息,这在调试和错误诊断非常有帮助。...这在共享可变状态非常有用。 thread_local! 宏是一个高级宏,它简化了线程本地存储的使用通过传递代码块给 thread_local!...一个线程需要访问线程本地存储数据,它需要通过StaticKey获取一个StaticGuard,表示开始访问线程本地存储。...它通过允许一个闭包在线程第一次访问线程本地存储来完成注册。这个闭包将被调用一次,并将返回的数据存储在对应线程的线程本地存储中。 这些结构体通过使用平台相关的TLS实现来提供线程本地存储功能。

    27330

    应用上云2小烧掉近50万,创始人:差点破产,简直噩梦

    2020年3月,COVID上市,我们的初创公司Milkie Way也遭受了巨大的打击,几乎被关闭了。...在几个小时内使用Firebase探索和内部测试Cloud Run,我们烧掉了$ 72,000。...在修改了一些代码之后,我们部署了代码,并在一天中的半天手动发出少量请求,检查日志,开帐单了几分钟来运行它,然后一切都变得一团糟。 1 噩梦开始 测试当天一切都很好,我们回到了开发公告的阶段。...由于我们的帐户迄今尚未付款,因此GCP应该先根据帐单信息向您收取$ 100的费用,然后在未付款停止该服务。事实并非如此。后来我了解了原因,这仍然不是用户的错!...开始,我们不知道这些值实际上对于测试程序而言是最坏的情况。 如果我们将max-instances选择为“ 2”,那么我们的成本将减少500倍。

    42.8K10
    领券