GVKun编程网logo

每个类的TestNg的@BeforeTest在基类上只发生一次(testclass为一个类,执行)

14

在这里,我们将给大家分享关于每个类的TestNg的@BeforeTest在基类上只发生一次的知识,让您更了解testclass为一个类,执行的本质,同时也会涉及到如何更有效地core-data–为什么

在这里,我们将给大家分享关于每个类的TestNg的@BeforeTest在基类上只发生一次的知识,让您更了解testclass为一个类,执行的本质,同时也会涉及到如何更有效地core-data – 为什么executeFetchRequest在使用Swift在XCTest下运行时不返回子类对象?、IDEA自动生成TestNG的testng.xml的插件、IDEA自动生成TestNG的testng.xml的插件方法、Java - Test - TestNG: Idea 引入 testng.xml 自动生成插件的内容。

本文目录一览:

每个类的TestNg的@BeforeTest在基类上只发生一次(testclass为一个类,执行)

每个类的TestNg的@BeforeTest在基类上只发生一次(testclass为一个类,执行)

我正在尝试使用@BeforeTest来使代码…在每次测试之前运行一次。

这是我的代码:

public class TestBase {    @BeforeTest    public void before() {        System.out.println("BeforeTest");    }}public class TestClass extends TestBase{    @Test    public void test1(){}    @Test    public void test2(){}}

“ BeforeTest”仅打印一次,而不打印两次。我究竟做错了什么?

答案1

小编典典

使用@BeforeMethod,而不是@BeforeTest。

@BeforeTest的含义在文档中进行了说明。

core-data – 为什么executeFetchRequest在使用Swift在XCTest下运行时不返回子类对象?

core-data – 为什么executeFetchRequest在使用Swift在XCTest下运行时不返回子类对象?

我有一个使用CoreData的 Swift项目和NSManagedobject设置的子类.它们具有类名设置(在xcdatamodel视图中),其中包括主要目标名称“MainTarget.MyEntity”.运行应用程序时一切正常.但是,我使用XCTest添加了一些单元测试,当将executeFetchRequest的结果转换为正确的类型时,应用程序开始与ERR_BAD_ACCESS或ERR_BAD_INSTRUCTION崩溃.我也试过在数组中转换每个元素,这也会导致崩溃.在我的所有测试用例中,错误都是零.

var entities = _managedContext.executeFetchRequest(fetchRequest,error: &error) as [MyEntity]?

以上结果导致:“致命错误:NSArray元素无法与控制台上的Swift数组元素类型匹配”.

var entities = _managedContext.executeFetchRequest(fetchRequest,error: &error)
let e = entities[0] // Works fine
let ee = e as NSManagedobject // Works fine
let eee = e as MyEntity // Crash: Exception breakpoint,then ERR_BAD_ACCESS - no messages on console

以上结果导致崩溃,但仅在从单元测试中调用时!

我有两个目标,一个主目标和一个测试目标(正常的默认设置). NSManagedobject类被选择为在两个目标中,以便测试可以访问它们.这些子类是用Swift编写的,没有Objective-C.

在单元测试期间,我使用内存中的persistentStoreCoordinator(尽管我在AppDelegate中使用相同的一个设置尝试了相同的结果).

Swift的调试器几乎没用(抱歉不得不发泄).当我查看executeFetchRequest返回的数组的变量时,它不会展开以显示元素,并且任何“po”它或其内容的尝试都会彻底崩溃XCode – 加上SourceKit每隔3分钟崩溃就会产生一个非常大的问题.令人沮丧的一天…但我离题了.我可以发现的唯一有用的信息是返回的数组是TestTarget.MyEntity而不是MainTarget.MyEntity.我认为,在转换时,它正在尝试转换为MainTarget.MyEnity(因为测试中的代码驻留在MainTarget中),因此尝试崩溃.

能够对涉及Core Data的代码进行单元测试似乎是一件基本的事情,我无法相信这有多么令人沮丧.有没有人能够让XCTests与NSManagedobject子类一起使用?你如何让CoreData在MainTarget中返回正确的子类而不是TestTarget中的子类?

我尝试过的其他一些事情包括:

>将@objc(MyEntity)注释添加到子类中,但这会导致来自Core Data的有关未找到的类的消息,从而返回NSManagedobject实例(显然不能转换为子类)
>链接和提及的建议:How to unit-test NSFetchedResultsController in Swift
>建议:executeFetchRequest throw fatal error: NSArray element failed to match the Swift Array Element type
>敲打头撞墙,直到头晕.我建议不要采取这种措施,因此效率不高.

解决方法

我有一个类似的问题.让我的实体类公开解决问题,我得到正确的类类型.( CoreData class miss match in unit test)

IDEA自动生成TestNG的testng.xml的插件

IDEA自动生成TestNG的testng.xml的插件

 

  1. 某地方见到的,自己实际操作一遍,记录一下。方便以后查询。
  2. 下载Create TestNG XML 插件,重启IDEA即可。

  3. 重启idea,新建Maven项目。

  4. pom.xml增加依赖
    <dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.10</version>
    </dependency>
  5. 产生testng.xml文件

    有兴趣的同学,可以尝试一下。

IDEA自动生成TestNG的testng.xml的插件方法

IDEA自动生成TestNG的testng.xml的插件方法

这篇文章主要介绍了IDEA自动生成TestNG的testng.xml的插件方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

某地方见到的,自己实际操作一遍,记录一下。方便以后查询。下载Create TestNG XML 插件,重启IDEA即可。

重启idea,新建Maven项目。

pom.xml增加依赖

org.testngtestng6.10

产生testng.xml文件

到此这篇关于IDEA自动生成TestNG的testng.xml的插件方法的文章就介绍到这了,更多相关IDEA自动生成TestNG内容请搜索小编以前的文章或继续浏览下面的相关文章希望大家以后多多支持小编!

Java - Test - TestNG: Idea 引入 testng.xml 自动生成插件

Java - Test - TestNG: Idea 引入 testng.xml 自动生成插件

1. 概述

  1. Idea 引入自动生成 testng.xml 插件
  2. 自动生成 testng.xml

2. 背景

  1. testng 调试

    1. 调试 testng, 主要是这两种方法
      1. ide 下直接执行测试
        1. 方法
      2. ide 下执行 testng.xml
  2. testng.xml

    1. 概述
      1. 测试套件 的配置文件
  3. 问题

    1. 每次都要手写, 会比较麻烦
      1. 解决方案

        1. 备份一个, 每次按格式改
        2. 使用插件自动创建
        3. 写个程序自动生成 xml
      2. 感觉

        1. 方案2 是最方便的

3. 环境

  1. ide
    1. idea
      1. 2018.2

4. 步骤

  1. 安装插件: Create TestNG XML
    1. 进入 插件管理

      1. 路径

        file > settings > plugins
        
    2. 搜索插件

      1. 输入搜索内容 1. testng

      2. 查找

        1. 单击 Browse repositories...
      3. 找到插件 Create TestNG XML

    3. 安装插件

      1. 单击右侧按钮

        1. install
      2. 安装成功后重启 idea

5. 使用

  1. 创建 testng.xml 文件

    1. 右键项目
    2. 选择 Create TestNG XML
  2. 结果

    1. 成功生成 testng.xml 文件
  3. 其他

    1. 提示

      1. 确认操作后, 会有一个提示
        1. 提示内容
          1. 文件名
          2. 文件路径
    2. 刷新

      1. 一定要刷新 project 窗口

        # 焦点在 project 上
        ctrl + alt + y
        
    3. 格式

      1. 默认的格式貌似有点乱
        1. 调整

          # 打开testng.xml
          # 焦点在 代码窗口
          ctrl + alt + l
          
    4. 内容

      1. 这个就不敢保证了
        1. 但是肯定是能用的

ps

  1. ref

    1. java idea中集成testng,Maven
  2. 后续

    1. 简单介绍下 testng 的一些情况

今天的关于每个类的TestNg的@BeforeTest在基类上只发生一次testclass为一个类,执行的分享已经结束,谢谢您的关注,如果想了解更多关于core-data – 为什么executeFetchRequest在使用Swift在XCTest下运行时不返回子类对象?、IDEA自动生成TestNG的testng.xml的插件、IDEA自动生成TestNG的testng.xml的插件方法、Java - Test - TestNG: Idea 引入 testng.xml 自动生成插件的相关知识,请在本站进行查询。

本文标签: