

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Kerangka kerja uji
<a name="test-framework-reporting"></a>

Topik di bagian ini menunjukkan cara mengatur pelaporan pengujian AWS CodeBuild untuk berbagai kerangka pengujian.

**Topics**
+ [Siapkan pelaporan pengujian dengan Jasmine](test-report-jasmine.md)
+ [Siapkan pelaporan pengujian dengan Jest](test-report-jest.md)
+ [Siapkan pelaporan pengujian dengan pytest](test-report-pytest.md)
+ [Siapkan pelaporan pengujian dengan RSpec](test-report-rspec.md)

# Siapkan pelaporan pengujian dengan Jasmine
<a name="test-report-jasmine"></a>

Prosedur berikut menunjukkan cara mengatur pelaporan pengujian AWS CodeBuild dengan kerangka pengujian [JasmineBDD](http://jasmine.github.io/). 

Prosedur ini membutuhkan prasyarat berikut:
+ Anda memiliki CodeBuild proyek yang sudah ada.
+ Proyek Anda adalah proyek Node.js yang disiapkan untuk menggunakan kerangka pengujian Jasmine.

Tambahkan [https://www.npmjs.com/package/jasmine-reporters](https://www.npmjs.com/package/jasmine-reporters)paket ke `devDependencies` bagian `package.json` file proyek Anda. Paket ini memiliki koleksi kelas JavaScript reporter yang dapat digunakan dengan Jasmine. 

```
npm install --save-dev jasmine-reporters
```

Jika belum ada, tambahkan `test` skrip ke `package.json` file proyek Anda. `test`Script memastikan bahwa Jasmine dipanggil ketika **npm test** dijalankan.

```
{
  "scripts": {
    "test": "npx jasmine"
  }
}
```

CodeBuild mendukung reporter tes Jasmine berikut:

**JUnitXmlReporter**  
Digunakan untuk menghasilkan laporan dalam `JunitXml` format.

**NUnitXmlReporter**  
Digunakan untuk menghasilkan laporan dalam `NunitXml` format.

Proyek Node.js dengan Jasmine akan, secara default, memiliki `spec` sub-direktori, yang berisi konfigurasi Jasmine dan skrip pengujian. 

Untuk mengonfigurasi Jasmine untuk menghasilkan laporan dalam `JunitXML` format, buat instance `JUnitXmlReporter` reporter dengan menambahkan kode berikut ke pengujian Anda. 

```
var reporters = require('jasmine-reporters');

var junitReporter = new reporters.JUnitXmlReporter({
  savePath: <test report directory>,
  filePrefix: <report filename>,
  consolidateAll: true
});

jasmine.getEnv().addReporter(junitReporter);
```

Untuk mengonfigurasi Jasmine untuk menghasilkan laporan dalam `NunitXML` format, buat instance `NUnitXmlReporter` reporter dengan menambahkan kode berikut ke pengujian Anda. 

```
var reporters = require('jasmine-reporters');

var nunitReporter = new reporters.NUnitXmlReporter({
  savePath: <test report directory>,
  filePrefix: <report filename>,
  consolidateAll: true
});

jasmine.getEnv().addReporter(nunitReporter)
```

Laporan pengujian diekspor ke file yang ditentukan oleh*<test report directory>*/*<report filename>*.

Dalam `buildspec.yml` file Anda, tambahkan/perbarui bagian berikut.

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jasmine_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```

Jika Anda menggunakan format `NunitXml` laporan, ubah `file-format` nilainya menjadi yang berikut.

```
    file-format: NUNITXML
```

# Siapkan pelaporan pengujian dengan Jest
<a name="test-report-jest"></a>

Prosedur berikut menunjukkan cara mengatur pelaporan pengujian AWS CodeBuild dengan kerangka [pengujian Jest](https://jestjs.io/). 

Prosedur ini membutuhkan prasyarat berikut:
+ Anda memiliki CodeBuild proyek yang sudah ada.
+ Proyek Anda adalah proyek Node.js yang disiapkan untuk menggunakan kerangka pengujian Jest.

Tambahkan [https://www.npmjs.com/package/jest-junit](https://www.npmjs.com/package/jest-junit)paket ke `devDependencies` bagian `package.json` file proyek Anda. CodeBuild menggunakan paket ini untuk menghasilkan laporan dalam `JunitXml` format.

```
npm install --save-dev jest-junit
```

Jika belum ada, tambahkan `test` skrip ke `package.json` file proyek Anda. `test`Skrip memastikan bahwa Jest dipanggil saat **npm test** dijalankan.

```
{
  "scripts": {
    "test": "jest"
  }
}
```

Konfigurasikan Jest untuk menggunakan `JunitXml` reporter dengan menambahkan yang berikut ini ke file konfigurasi Jest Anda. Jika proyek Anda tidak memiliki file konfigurasi Jest, buat file bernama `jest.config.js` di root proyek Anda dan tambahkan yang berikut ini. Laporan pengujian diekspor ke file yang ditentukan oleh*<test report directory>*/*<report filename>*.

```
module.exports = {
  reporters: [
    'default',
    [ 'jest-junit', {
      outputDirectory: <test report directory>,
      outputName: <report filename>,
    } ]
  ]
};
```

Dalam `buildspec.yml` file Anda, tambahkan/perbarui bagian berikut.

```
version: 0.2

phases:
  pre_build:
    commands:
      - npm install
  build:
    commands:
      - npm build
      - npm test

reports:
  jest_reports:
    files:
      - <report filename>
    file-format: JUNITXML
    base-directory: <test report directory>
```

# Siapkan pelaporan pengujian dengan pytest
<a name="test-report-pytest"></a>

Prosedur berikut menunjukkan cara mengatur pelaporan pengujian AWS CodeBuild dengan kerangka [pengujian pytest](https://docs.pytest.org/). 

Prosedur ini membutuhkan prasyarat berikut:
+ Anda memiliki CodeBuild proyek yang sudah ada.
+ Proyek Anda adalah proyek Python yang disiapkan untuk menggunakan kerangka pengujian pytest.

Tambahkan entri berikut ke salah satu `build` atau `post_build` fase `buildspec.yml` file Anda. Kode ini secara otomatis menemukan tes di direktori saat ini dan mengekspor laporan pengujian ke file yang ditentukan oleh*<test report directory>*/. *<report filename>* Laporan menggunakan `JunitXml` format.

```
      - python -m pytest --junitxml=<test report directory>/<report filename>
```

Dalam `buildspec.yml` file Anda, tambahkan/perbarui bagian berikut.

```
version: 0.2

phases:
  install:
    runtime-versions:
      python: 3.7
    commands:
      - pip3 install pytest
  build:
    commands:
      - python -m pytest --junitxml=<test report directory>/<report filename>

reports:
  pytest_reports:
    files:
      - <report filename>
    base-directory: <test report directory>
    file-format: JUNITXML
```

# Siapkan pelaporan pengujian dengan RSpec
<a name="test-report-rspec"></a>

Prosedur berikut menunjukkan cara mengatur pelaporan pengujian AWS CodeBuild dengan [kerangka RSpec pengujian](https://rspec.info/). 

Prosedur ini membutuhkan prasyarat berikut:
+ Anda memiliki CodeBuild proyek yang sudah ada.
+ Proyek Anda adalah proyek Ruby yang disiapkan untuk menggunakan kerangka RSpec pengujian.

Tambahkan/perbarui yang berikut ini di file Anda`buildspec.yml`. Kode ini menjalankan tes di *<test source directory>* direktori dan mengekspor laporan pengujian ke file yang ditentukan oleh*<test report directory>*/*<report filename>*. Laporan menggunakan `JunitXml` format.

```
version: 0.2

phases:
  install:
    runtime-versions:
      ruby: 2.6
  pre_build:
    commands:
      - gem install rspec
      - gem install rspec_junit_formatter
  build:
    commands:
      - rspec <test source directory>/* --format RspecJunitFormatter --out <test report directory>/<report filename>
reports:
    rspec_reports:
        files:
            - <report filename>
        base-directory: <test report directory>
        file-format: JUNITXML
```