Skip to content

SoftwareCraftersMurcia/tic-tac-toe-2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reglas de la kata

Following a strict red->green->refactor loop, I am breaking requirements down into the following testables:

  • X always goes first
  • A Player can not play twice
  • Players alternate placing X’s and O’s on the board
  • Players cannot play on a played position
  • A player with 3 X’s (vertically, horizontally or diagonally) wins the game.
  • If all 9 squares are filled and neither player achieves 3 in a row, the game is a draw.
  • A player with 3 O’s in a row (vertically, horizontally or diagonally) wins the game.

Base para hacer tests

Configuración básica para empezar a hacer una kata o aprender a hacer tests en los siguientes lenguajes:

  • PHP y PHPUnit
  • Javascript con Jest
  • Java, Junit y Mockito
  • Scala, Munit y Scalacheck
  • Kotlin, JUnit5 y MockK
  • C#, xUnit (con FluentAsertion) y NSubstitute (para mock)

Configuración específica por lenguaje

PHP

  1. Instalar composer curl -sS https://getcomposer.org/installer | php
  2. composer install (estando en la carpeta php)
  3. ./vendor/bin/phpunit

Javascript

  1. Instalar Node
  2. npm install (Estando en la carpeta javascript)
  3. npm test

Java

  1. Instalar las dependencias y tests con Maven [mvn test]
  2. Ejecutar los tests con el IDE

Scala

  1. sbt (en la carpeta scala)
  2. ~test para ejecutar los test en hot reload

Linux/Mac

  1. Instalar SDKMan
  2. sdk install java 11.0.12-open instala OpenJDK
  3. sdk install sbt una vez instalado SDKMan

Windows

  1. Instalar OpenJDK
  2. Instalar SBT

Visual Studio Code

  1. Descargar Visual Studio Code
  2. Instalar para VS Code Metals

Kotlin

  1. Por consola: Puedes instalar dependencias y lanzar los tests con gradlew test
  2. Usando IDE: Simplemente abre el proyecto desde el raiz de la plantilla Kotlin

C#

  1. Instalar Microsoft Visual Studio Community 2022
  2. Abre el proyecto y se descargaran automáticamente los paquetes Nuguet necesarios

Python

  1. Instalar python 3.x
  2. Una vez descargado el código fuente dentro de la carpeta */python/ creamos un virtual enviroment:
  3. python3 -m venv env
  4. Activamos en virtual environment:
  • windows: .\env\Scripts\activate.bat
  • linux/mac: source env/bin/activate
  1. pytest para ejecutar los tests.

Documentación

Javascript

Jest

PHP

PHPUnit

Prophecy para dobles de prueba

Java

JUnit

Mockito

Scala

Munit

Scalacheck para testing basado en propiedades

Kotlin

JUnit5

MockK

C#

xUnit NSubstitute FluentAssertions