input: Write a function to generate a Python class that represents a 3-dimensional vector with an initializer to set the x, y, and z components and a method to calculate its length. Additionally, provide unit tests to validate the functionality.
  
  class Vector3D:
      def __init__(self, x, y, z):
          self.x = x
          self.y = y
          self.z = z
      
      def length(self):
          return (self.x**2 + self.y**2 + self.z**2)**0.5
  
  assert Vector3D(3, 4, 0).length() == 5.0
  assert Vector3D(1, 2, 2).length() == 3.0
  assert Vector3D(0, 0, 0).length() == 0.0
  assert Vector3D(3, 4, 12).length() == 13.0
  assert Vector3D(5, 12, 0).length() == 13.0
output: class Vector3D:
      def __init__(self, x, y, z):
          self.x = x
          self.y = y
          self.z = z
      
      def length(self):
          return (self.x**2 + self.y**2 + self.z**2)**0.5