Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialLewis Cowles
74,902 PointsSomething is wrong with the test in Django-basics for testing writer model.
using the following test method within WriterModelTestCase
class fails in the code challenge but works in the workspaces, and both use self.assertIn
def test_writer_instantiate(self):
'''Tests instantiation of writer class'''
testemail = "bob@bob.com"
writer = Writer( name="Bob", email=testemail, bio="" )
self.assertIn( testemail, writer.mailto() )
from django.test import TestCase
from .models import Writer
class WriterModelTestCase(TestCase):
'''Tests for the Writer model'''
def test_writer_instantiate(self):
'''Tests instantiation of writer class'''
testemail = "bob@bob.com"
writer = Writer( name="Bob", email=testemail, bio="" )
self.assertIn( testemail, writer.mailto() )
from django.db import models
class Article(models.Model):
headline = models.CharField(max_length=255)
publish_date = models.DateTimeField()
content = models.TextField()
writer = models.ForeignKey('Writer')
def __str__(self):
return self.headline
class Writer(models.Model):
name = models.CharField(max_length=255)
email = models.EmailField()
bio = models.TextField()
def __str__(self):
return self.name
def mailto(self):
return '{} <{}>'.format(self.name, self.email)
2 Answers
Kenneth Love
Treehouse Guest TeacherI've updated the validation so your solution passes. I wasn't allowing for a space before the final )
in the self.assertIn
bit. FWIW, that extra space is kind of a bad habit, at least in Python.
Lewis Cowles
74,902 PointsThanks dude, I honestly think it makes it more readable to have spaces everywhere, but am aware I am an oddity as I often fall out with PHP and C devs for my spacing...
Andrew Winkler
37,739 PointsLewis's version passes. The original question's code is missing the writer.objects.create() function that creates the attributes initially. If they aren't created, can't test their consistency.
Lewis Cowles
74,902 PointsLewis Cowles
74,902 PointsAlso verified test failing using the following syntax (similar to Kenneth's syntax in the previous video)