Dix-sept techniques de base de ma liste de contrôle de révision de code

Table des matières

Dix-sept techniques de base de ma liste de contrôle de révision de code

Technique # 11: Choisir un cadre de test

Définition du cadre de test sur pytest dans Pycharm pour le projet Photonai 1.1.0., Animation par Rachel Cottman

Technique n ° 12: tous les tests unitaires réussissent

# 1
def test_Hyperpipe_Data_XEqNone():
assert Hyperpipe.Data().X == None

# 2
def test_Hyperpipe_Data_Xarray():
test_value = np.ndarray((3,), buffer=np.array([0, 1, 2, 3]), dtype=int)
test_value = np.vstack([test_value, test_value])
assert (Hyperpipe.Data(X=test_value).X == test_value).all()

Technique n ° 13: échec du test unitaire et exceptions

#0
def test_Hyperpipe_pos_arg_erroe():
name = "myhype"
with pytest.raises(ValueError):
assert Hyperpipe(name).name == ""

Technique n ° 14: les tests unitaires couvrent l’intégralité de la signature

# pyCharm generates signature unit test boilerplate for youclass test_Optimization:
def test_best_config_metric(self):
assert False

def test_best_config_metric(self):
assert False

def test_optimizer_input_str(self):
assert False

def test_optimizer_input_str(self):
assert False

def test_sanity_check_metrics(self):
assert False

def test_get_optimizer(self):
assert False

def test_get_optimum_config(self):
assert False

def test_get_optimum_config_outer_folds(self):
assert False

Technique n ° 15: placer les structures de données partagées au niveau du projet pour les tests unitaires dans un fichier commun (facultatif)

@pytest.fixture()
def Housing():
dataset = fetch_california_housing()
return pd.DataFrame(dataset.data, columns=dataset.feature_names)

Technique n ° 16: le rapport de couverture indique 70% ou mieux

Pytest sur un fichier .py. Animation par Rachel Cottman
Pytest sur un dossier de test. Animation par Rachel Cottman

Technique # 17: Tests d’intégration