Java et JUnit : Devoir 3 Guide
Java et JUnit : Devoir 3 Guide
Cette assignation évalue vos connaissances de base en Java et JUnit, nécessaires pour
future assignments and projects.
Instructions
Pour terminer l'affectation, vous devez accomplir les tâches suivantes :
Clonez votre dépôt GitHub individuel dans votre espace de travail local. C'est le même
répertoire que vous avez utilisé pour le devoir précédent et que vous utiliserez pour tous les futurs travaux individuels
assignments:
[Link] d'utilisateur GT>.git
Téléchargez l'archivedevoir [Link]
● Extrayez l'archive dans le répertoire racine du dépôt, ce qui créera un répertoire
appelé Assignment3 et plusieurs sous-répertoires. À partir de maintenant, nous allons nous référer au répertoire
Devoir3dans votre dépôt local en tant que <dir>.
(Si vous ne savez pas comment extraitre une archive « [Link] », vous devriez pouvoir trouver beaucoup de
ressources sur la façon de faire cela en ligne--demandez sur Ed Discussion sinon.)
○ Le répertoire <dir>/src contient, dans un répertoire approprié, l'interface Java
[Link]. Il contient également une classe d'exception
[Link], qui est utilisé par le
interface.
○ Le répertoire <dir>/testcontains, dans un répertoire approprié, contient une classe de test JUnit de modèle
[Link].
○ <dir>/lib/[Link] et <dir>/lib/[Link]
Bibliothèques JUnit et Hamcrest à utiliser pour le devoir.
●Votre première tâche est de développer une classe Java appelée MyString qui implémente de manière appropriée
Soumission
Pour soumettre votre solution, vous devez :
●Engagez le répertoire <dir> et poussez-le vers le dépôt GitHub distant individuel que nous
assigné à vous. Assurez-vous de ne pas pousser votre travail vers un autre dépôt, en particulier un public
dans le meilleur des cas, vous pourriez finir par soumettre un identifiant de commit que nous ne pouvons pas trouver. Dans le
Dès que vous soumettez, votre devoir sera noté en compilant votre code et
le faisant face à à la fois vos cas de test et un ensemble de cas de test, rédigés par les instructeurs.
Tous les tests doivent réussir.1Après cela, ce qui devrait prendre quelques minutes au maximum, vous verrez un
rapport avec votre note et quelques commentaires correspondants. Les commentaires doivent être
auto-explicatif (par exemple, "ERREUR : Vous avez 16 tests au lieu de 15.") mais veuillez nous laisser
savoir autrement.
La note que vous verrez sur Gradescope est votre note réelle pour le devoir,
à moins que nous ne trouvions des problèmes avec votre soumission (par exemple, la codification des résultats,
tests identiques, ou similaires).
Vous pouvez soumettre à nouveau autant de fois que vous le souhaitez avant la date limite, donc vous avez un
possibilité de résoudre des problèmes avec vos devoirs si Gradescope trouve un problème avec votre
soumission.
Notes
● Assurez-vous de soumettre uniquement les cas de test dans le modèle et ne pas ajouter de tests supplémentaires. Si vous
si vous vous sentez obligé d'ajouter des tests supplémentaires, n'hésitez pas à le faire dans un fichier de test séparé, que vous
peut être ajouté à votre dépôt mais ne sera pas noté.
● N'utilisez aucune bibliothèque externe autre que JUnit 4 et l'associée
Bibliothèque Hamcrest. Vous pouvez évidemment utiliser toutes les bibliothèques JDK standard,2et tu vraiment
ne devrait pas avoir besoin d'un externe.
● Les seuls fichiers que nous utiliserons pour évaluer vos soumissions sont :
○Assignment3/src/edu/gatech/seclass/[Link]
○Devoir3/test/edu/gatech/seclass/[Link]
○Assignment3/lib/[Link]
○Assignment3/lib/[Link]
N'hésitez pas à commettre des fichiers supplémentaires (par exemple, les fichiers liés au projet IDEA), car cela ne constitue pas un
1
Nos cas de test s'assurent que vous avez correctement implémenté la fonctionnalité des méthodes requises. Ils
sont assez simples et ne cherchent pas à exercer des cas particuliers ésotériques.
2
Les bibliothèques Java internes sont celles documentées dans leSpécification de l'API Java Platform Standard Edition.
○ Les cas de test déjà fournis (à l'exception de ceux que vous êtes censé ...
implémenter, évidemment, dont le corps est simplement "fail("Pas encore implémenté")".
○ Le nom de la classe de test, les noms des cas de test et les commentaires de test, sauf
pour remplacer « <Ajouter ici la description du test> » par une description concise de la
objectif du test. (Nous comprenons qu'il peut être conseillé d'utiliser plus
des noms significatifs pour les tests, mais avoir des tests numérotés aide à la notation.)
○ The declaration ofmystringin the test class.
Vous devez utiliser la version 11 de Java pour résoudre le devoir.
● Avant de soumettre, assurez-vous de compiler et d'exécuter vos cas de test en groupe (pas seulement
individuellement) et de vérifier qu'ils passent tous. Bien que Gradescope effectue le même
vérifications, il est beaucoup plus rapide de le faire localement, sur votre machine, à l'avance.
● Vérifiez que l'ID de votre dernier commit contient ce que vous souhaitez et qu'il est poussé vers le dépôt.
en le clonant dans un emplacement séparé ou en le visualisant sur [Link].
Plus précisément, vous pouvez vérifier que vous avez engagé et poussé tous les fichiers dont vous aviez besoin.
en faisant ce qui suit :
○ Clonez une nouvelle copie de votre dépôt personnel dans un autre répertoire
○ Allez dans le répertoire Assignment3 dans ce nouveau clone
○Compilez votre code. Une façon de le faire est d'exécuter, depuis un shell de type Unix :
javac -cp lib/* -d classes src/edu/gatech/seclass/*
test/edu/gatech/seclass/[Link]
(sur certaines plateformes, vous devrez d'abord créer le répertoire « classes »)
○Exécutez vos tests. Encore une fois, depuis un terminal de type Unix, vous pouvez exécuter :
java -cp classes:lib/* [Link]
[Link].MyStringTest3
●You can perform multiple commits as you produce your solution. This is not only fine, but
en fait, très encouragé.
Nous vous encourageons également à utiliser une branche « développement » et à fusionner vos versions stables.
dans la branche « master ». Si vous êtes intéressé, voirce sitepour un exemple d'un possible
modèle de ramification de ce type. (Il en existe beaucoup d'autres.)
● À partir de ce point dans le cours, vous ne devez PAS exécuter les commandes de réinitialisation du dépôt git.
donné dans l'Assignment 2, toute version de force --push, ou toute commande supprimant
branches, tags ou commits antérieurs dans votre dépôt, car ces commandes pourraient causer
vous perdre le travail précédent.
3
Si vous utilisez un système basé sur Windows, vous devrez peut-être exécuter java -cp "classes;lib/*"
[Link] [Link].
Demandes de clarifications : Si vous avez besoin de clarifications sur un test spécifique ou sur la sortie de Gradescope,
Veuillez poster en privé sur Ed Discussion (nous le rendrons public si approprié) et assurez-vous de
ajoutez, quand cela s'applique :
○ Cliquez sur "Suivant" en acceptant les choix par défaut (assurez-vous d'inclure le fourni
bibliothèques et sélectionner Java SDK 11) puis "Terminer" :
● Veuillez noter que l'utilisation d'un IDE devrait également faciliter la création de code de squelette pour le
classe qui implémente l'interface, crée et exécute les cas de test JUnit, et ainsi de suite.